In [242]:
import warnings
warnings.filterwarnings("ignore")
import pandas as pd
import scipy.stats as stats
import numpy as np
from pandas.api.types import is_numeric_dtype
import statsmodels.api as sm 
import seaborn as sns
from seaborn_qqplot import QQPlot
from matplotlib import pyplot as plt
from scipy.stats import gamma
from sklearn.preprocessing import StandardScaler
import pickle 
from sklearn.metrics import mean_squared_error
#-------Importing tensorflow libraries-------#
from tensorflow.python.keras.models import Sequential
from tensorflow.python.keras.layers import Dense,Dropout
from tensorflow.python.keras.wrappers.scikit_learn import KerasRegressor
#------split and pipeline libraries------#
from sklearn.model_selection import train_test_split
from sklearn.model_selection import cross_val_score
from sklearn.model_selection import KFold
from sklearn.pipeline import Pipeline
#--------------------------------------------------#
from statsmodels.stats.outliers_influence import variance_inflation_factor 
sns.set(color_codes=True)
%matplotlib inline
In [243]:
df  = pd.read_csv("Part- 1,2&3 - Signal.csv")
In [244]:
df.head()
Out[244]:
Parameter 1 Parameter 2 Parameter 3 Parameter 4 Parameter 5 Parameter 6 Parameter 7 Parameter 8 Parameter 9 Parameter 10 Parameter 11 Signal_Strength
0 7.4 0.70 0.00 1.9 0.076 11.0 34.0 0.9978 3.51 0.56 9.4 5
1 7.8 0.88 0.00 2.6 0.098 25.0 67.0 0.9968 3.20 0.68 9.8 5
2 7.8 0.76 0.04 2.3 0.092 15.0 54.0 0.9970 3.26 0.65 9.8 5
3 11.2 0.28 0.56 1.9 0.075 17.0 60.0 0.9980 3.16 0.58 9.8 6
4 7.4 0.70 0.00 1.9 0.076 11.0 34.0 0.9978 3.51 0.56 9.4 5
In [245]:
df.isnull().any()
Out[245]:
Parameter 1        False
Parameter 2        False
Parameter 3        False
Parameter 4        False
Parameter 5        False
Parameter 6        False
Parameter 7        False
Parameter 8        False
Parameter 9        False
Parameter 10       False
Parameter 11       False
Signal_Strength    False
dtype: bool
In [246]:
df.info(verbose=True)
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 1599 entries, 0 to 1598
Data columns (total 12 columns):
Parameter 1        1599 non-null float64
Parameter 2        1599 non-null float64
Parameter 3        1599 non-null float64
Parameter 4        1599 non-null float64
Parameter 5        1599 non-null float64
Parameter 6        1599 non-null float64
Parameter 7        1599 non-null float64
Parameter 8        1599 non-null float64
Parameter 9        1599 non-null float64
Parameter 10       1599 non-null float64
Parameter 11       1599 non-null float64
Signal_Strength    1599 non-null int64
dtypes: float64(11), int64(1)
memory usage: 150.0 KB

Univariate Analysis

In [247]:
df.describe()
Out[247]:
Parameter 1 Parameter 2 Parameter 3 Parameter 4 Parameter 5 Parameter 6 Parameter 7 Parameter 8 Parameter 9 Parameter 10 Parameter 11 Signal_Strength
count 1599.000000 1599.000000 1599.000000 1599.000000 1599.000000 1599.000000 1599.000000 1599.000000 1599.000000 1599.000000 1599.000000 1599.000000
mean 8.319637 0.527821 0.270976 2.538806 0.087467 15.874922 46.467792 0.996747 3.311113 0.658149 10.422983 5.636023
std 1.741096 0.179060 0.194801 1.409928 0.047065 10.460157 32.895324 0.001887 0.154386 0.169507 1.065668 0.807569
min 4.600000 0.120000 0.000000 0.900000 0.012000 1.000000 6.000000 0.990070 2.740000 0.330000 8.400000 3.000000
25% 7.100000 0.390000 0.090000 1.900000 0.070000 7.000000 22.000000 0.995600 3.210000 0.550000 9.500000 5.000000
50% 7.900000 0.520000 0.260000 2.200000 0.079000 14.000000 38.000000 0.996750 3.310000 0.620000 10.200000 6.000000
75% 9.200000 0.640000 0.420000 2.600000 0.090000 21.000000 62.000000 0.997835 3.400000 0.730000 11.100000 6.000000
max 15.900000 1.580000 1.000000 15.500000 0.611000 72.000000 289.000000 1.003690 4.010000 2.000000 14.900000 8.000000

Distribution plots for each continous parameters

In [248]:
columns = list(df.columns)
for column in columns:
    plt.figure(figsize=(10, 5))
    sns.distplot(df[column], color = "blue").set_title("Distribution of "+column)

Box plot of each parameter with respect to the signal strength

In [249]:
for column in columns:
    plt.figure(figsize=(10, 5))
    sns.boxplot(x='Signal_Strength',y=column, data = df, hue = 'Signal_Strength')
    

Calculating median , mode ,skewness and kurtosis

In [250]:
for column in df.columns:
    print(100*"*")
    print("Mean of "+str(column)+"="+str(df[column].mean()))
    print("Median of "+str(column)+"="+str(df[column].median()))
    print("Mode of "+str(column)+"="+str(df[column].mode()[0]))
    print("Skewness in "+str(column)+"="+str(df[column].skew()))
    print("Excess Kurtosis in "+str(column)+"="+str(df[column].kurtosis()))
    print(100*"*")
****************************************************************************************************
Mean of Parameter 1=8.319637273295838
Median of Parameter 1=7.9
Mode of Parameter 1=7.2
Skewness in Parameter 1=0.9827514413284587
Excess Kurtosis in Parameter 1=1.1321433977276252
****************************************************************************************************
****************************************************************************************************
Mean of Parameter 2=0.5278205128205131
Median of Parameter 2=0.52
Mode of Parameter 2=0.6
Skewness in Parameter 2=0.6715925723840199
Excess Kurtosis in Parameter 2=1.2255422501791422
****************************************************************************************************
****************************************************************************************************
Mean of Parameter 3=0.2709756097560964
Median of Parameter 3=0.26
Mode of Parameter 3=0.0
Skewness in Parameter 3=0.3183372952546368
Excess Kurtosis in Parameter 3=-0.7889975153633966
****************************************************************************************************
****************************************************************************************************
Mean of Parameter 4=2.5388055034396517
Median of Parameter 4=2.2
Mode of Parameter 4=2.0
Skewness in Parameter 4=4.54065542590319
Excess Kurtosis in Parameter 4=28.617595424475443
****************************************************************************************************
****************************************************************************************************
Mean of Parameter 5=0.08746654158849257
Median of Parameter 5=0.079
Mode of Parameter 5=0.08
Skewness in Parameter 5=5.680346571971722
Excess Kurtosis in Parameter 5=41.71578724757661
****************************************************************************************************
****************************************************************************************************
Mean of Parameter 6=15.874921826141339
Median of Parameter 6=14.0
Mode of Parameter 6=6.0
Skewness in Parameter 6=1.250567293314441
Excess Kurtosis in Parameter 6=2.023562045840575
****************************************************************************************************
****************************************************************************************************
Mean of Parameter 7=46.46779237023139
Median of Parameter 7=38.0
Mode of Parameter 7=28.0
Skewness in Parameter 7=1.515531257594554
Excess Kurtosis in Parameter 7=3.8098244878645744
****************************************************************************************************
****************************************************************************************************
Mean of Parameter 8=0.9967466791744833
Median of Parameter 8=0.99675
Mode of Parameter 8=0.9972
Skewness in Parameter 8=0.07128766294945525
Excess Kurtosis in Parameter 8=0.9340790654648083
****************************************************************************************************
****************************************************************************************************
Mean of Parameter 9=3.311113195747343
Median of Parameter 9=3.31
Mode of Parameter 9=3.3
Skewness in Parameter 9=0.19368349811284427
Excess Kurtosis in Parameter 9=0.806942508246574
****************************************************************************************************
****************************************************************************************************
Mean of Parameter 10=0.6581488430268921
Median of Parameter 10=0.62
Mode of Parameter 10=0.6
Skewness in Parameter 10=2.4286723536602945
Excess Kurtosis in Parameter 10=11.720250727147674
****************************************************************************************************
****************************************************************************************************
Mean of Parameter 11=10.422983114446502
Median of Parameter 11=10.2
Mode of Parameter 11=9.5
Skewness in Parameter 11=0.8608288069184189
Excess Kurtosis in Parameter 11=0.20002931143836733
****************************************************************************************************
****************************************************************************************************
Mean of Signal_Strength=5.6360225140712945
Median of Signal_Strength=6.0
Mode of Signal_Strength=5
Skewness in Signal_Strength=0.21780157547366327
Excess Kurtosis in Signal_Strength=0.2967081197538759
****************************************************************************************************

Observations:

  • Our dataset has outliers as per the boxplot
  • From the above statistics it can be inferred that Parameters 8 and 9 are normally distributed which can be visually confirmed after we go through the distribution plots of the aforementioned parameters.

  • Multivariate Analysis

    In [59]:
    sns.pairplot(df)
    
    Out[59]:
    <seaborn.axisgrid.PairGrid at 0x10b30248>

    Observation:We can see some correlation between parameter 1 and parameter 8 but we need to check the correlation statistically

    Let us impute outliers detected through z-score method with median

    In [251]:
    df1 = df.copy()
    
    In [252]:
    for column in df1.drop(columns=['Signal_Strength']).columns:
        df1[column] = df1[column].apply(lambda x: x if
                            ((x - df1[column].mean())/df1[column].std()) <= 3 
                            else
                            df1[column].median()
                            #np.nan
                           )
    

    Correlation Test

    Backward elimination method

    In [253]:
    def backwardElimination(x, Y, significance_level, columns):
        numVars = len(x[0])
        for i in range(0, numVars):
            regressor_OLS = sm.OLS(Y, x).fit()
            maxVar = max(regressor_OLS.pvalues)
            if maxVar > significance_level:
                for j in range(0, numVars - i):
                    if (regressor_OLS.pvalues[j] == maxVar):
                        x = np.delete(x, j, 1)
                        columns = np.delete(columns, j)
                        
        regressor_OLS.summary()
        return x, columns
    
    In [254]:
    x_ols = df1.drop(columns=['Signal_Strength']).values
    y_ols = df1['Signal_Strength']
    significance_level = 0.05
    selected_columns = df1.drop(columns=['Signal_Strength']).columns
    data, selected_columns = backwardElimination(x_ols, y_ols, significance_level, selected_columns)
    
    In [255]:
    selected_columns
    
    Out[255]:
    Index(['Parameter 2', 'Parameter 5', 'Parameter 7', 'Parameter 8',
           'Parameter 9', 'Parameter 10', 'Parameter 11'],
          dtype='object')
    In [256]:
    selected_columns = list(selected_columns)
    selected_columns.append('Signal_Strength')
    After_backward_elimination = df[selected_columns].copy()
    
    In [257]:
    plt.figure(figsize=(20, 20))
    df_corr = After_backward_elimination.drop(columns=['Signal_Strength']).corr(method='pearson')
    ax = sns.heatmap(df_corr, annot=True, cmap='YlGnBu')
    bottom, top = ax.get_ylim()
    ax.set_ylim(bottom + 0.5, top - 0.5)
    
    Out[257]:
    (7.0, 0.0)

    Observations:

  • From the backward elimination method we can observe that Parameter 1, Parameter 3, Parameter 4 and Parameter 6 have been dropped due to high correlation.
  • The spearman correlation matrix which we created after removing highly correlated features through backward elimination method do not show any highly correlated feature.
  • We will also use VIF scores to further analyse the correlation in our dataset.

  • Variance Inflation factor

    In [258]:
    X = df.drop(columns=['Signal_Strength'])
    vif_data = pd.DataFrame()
    vif_data['feature'] = X.columns
    vif_data['VIF'] = [variance_inflation_factor(X.values,i) for i in range(len(X.columns))]
    
    In [259]:
    vif_data
    
    Out[259]:
    feature VIF
    0 Parameter 1 74.452265
    1 Parameter 2 17.060026
    2 Parameter 3 9.183495
    3 Parameter 4 4.662992
    4 Parameter 5 6.554877
    5 Parameter 6 6.442682
    6 Parameter 7 6.519699
    7 Parameter 8 1479.287209
    8 Parameter 9 1070.967685
    9 Parameter 10 21.590621
    10 Parameter 11 124.394866

    Pairplot after removing outliers

    In [260]:
    sns.pairplot(df1)
    
    Out[260]:
    <seaborn.axisgrid.PairGrid at 0x87796a08>
    In [261]:
    X = df1.drop(columns=['Signal_Strength'])
    vif_data = pd.DataFrame()
    vif_data['feature'] = X.columns
    vif_data['VIF'] = [variance_inflation_factor(X.values,i) for i in range(len(X.columns))]
    
    In [262]:
    vif_data
    
    Out[262]:
    feature VIF
    0 Parameter 1 67.525613
    1 Parameter 2 17.700405
    2 Parameter 3 8.259058
    3 Parameter 4 9.553091
    4 Parameter 5 16.211930
    5 Parameter 6 6.542079
    6 Parameter 7 6.370576
    7 Parameter 8 1331.472877
    8 Parameter 9 960.386214
    9 Parameter 10 29.009573
    10 Parameter 11 133.234695

    Observations:

  • After treating outliers we did not see much improvement in the VIF scores of the parameters.They continue to be very high(>5)
  • In order to solve multicolinearity problem we will use PCA.

  • Standard Scaling

    In [263]:
    scaled = df1.copy()
    for column in scaled.drop(columns=['Signal_Strength']).columns:
        scaled[column] = scaled[column].apply(lambda x:
                            (x - scaled[column].mean())/scaled[column].std()
                           )
    

    Finding the optimal number of principal components that could account for maximum variance in data

    In [264]:
    from sklearn.decomposition import PCA
    features = list(scaled.drop(columns=['Signal_Strength']).columns)
    pca = PCA(n_components=10)
    pca.fit(np.array(scaled[features]))
    variance = pca.explained_variance_ratio_
    var = np.cumsum(np.round(variance,decimals = 3)*100)
    var
    
    Out[264]:
    array([27.4, 45.1, 59.4, 69.7, 77.9, 84.7, 89.9, 94. , 97. , 99.1])
    In [265]:
    plt.ylabel("% Variance explained")
    plt.xlabel("Number of features")
    plt.title("PCA analysis")
    plt.ylim(20,110)
    plt.xlim(0,11)
    plt.plot(var)
    
    Out[265]:
    [<matplotlib.lines.Line2D at 0x8928ebc8>]

    Observations: We could pick n_components = 6 as they account for 90% of variance in the dataset

    In [266]:
    pca = PCA(n_components=6)
    principalComponents = pca.fit_transform(np.array(scaled[features]))
    pcDf = pd.DataFrame(data = principalComponents
                 , columns = ['PC1', 'PC2','PC3','PC4','PC5','PC6'])
    
    In [267]:
    finalDf = pd.concat([pcDf,scaled[['Signal_Strength']]], axis=1)
    
    In [269]:
    X = finalDf.drop(columns=['Signal_Strength'])
    vif_data = pd.DataFrame()
    vif_data['feature'] = X.columns
    vif_data['VIF'] = [variance_inflation_factor(X.values,i) for i in range(len(X.columns))]
    
    In [270]:
    vif_data
    
    Out[270]:
    feature VIF
    0 PC1 1.0
    1 PC2 1.0
    2 PC3 1.0
    3 PC4 1.0
    4 PC5 1.0
    5 PC6 1.0
    In [271]:
    sns.pairplot(finalDf)
    
    Out[271]:
    <seaborn.axisgrid.PairGrid at 0x8a523c48>

    No correlation among principal components

    Split the data

    In [304]:
    xpca = finalDf.drop(columns=['Signal_Strength']).values
    ypca = finalDf['Signal_Strength'].values
    X_train, X_test, y_train, y_test = train_test_split(xpca, ypca,test_size=0.33, random_state=42)
    

    Training the neural network to create regression model

    In [305]:
    model = Sequential()
    model.add(Dense(10, input_dim=6, kernel_initializer='normal', activation='relu'))
    model.add(Dropout(0.25))
    model.add(Dense(10, activation='relu'))
    model.add(Dropout(0.25))
    model.add(Dense(1, activation='linear'))
    model.summary()
    
    Model: "sequential_18"
    _________________________________________________________________
    Layer (type)                 Output Shape              Param #   
    =================================================================
    dense_55 (Dense)             (None, 10)                70        
    _________________________________________________________________
    dropout_30 (Dropout)         (None, 10)                0         
    _________________________________________________________________
    dense_56 (Dense)             (None, 10)                110       
    _________________________________________________________________
    dropout_31 (Dropout)         (None, 10)                0         
    _________________________________________________________________
    dense_57 (Dense)             (None, 1)                 11        
    =================================================================
    Total params: 191
    Trainable params: 191
    Non-trainable params: 0
    _________________________________________________________________
    
    In [306]:
    model.compile(loss='mse', optimizer='adam', metrics=['mse','mae'])
    
    In [307]:
    history = model.fit(X_train, y_train, epochs=200, batch_size=10,  verbose=1, validation_split=0.2)
    
    Train on 856 samples, validate on 215 samples
    Epoch 1/200
    856/856 [==============================] - 1s 707us/sample - loss: 26.6416 - mean_squared_error: 26.6416 - mean_absolute_error: 5.0784 - val_loss: 20.7450 - val_mean_squared_error: 20.7450 - val_mean_absolute_error: 4.4613
    Epoch 2/200
    856/856 [==============================] - 0s 152us/sample - loss: 14.6958 - mean_squared_error: 14.6958 - mean_absolute_error: 3.5782 - val_loss: 7.6434 - val_mean_squared_error: 7.6434 - val_mean_absolute_error: 2.4951
    Epoch 3/200
    856/856 [==============================] - 0s 153us/sample - loss: 5.9726 - mean_squared_error: 5.9726 - mean_absolute_error: 2.0134 - val_loss: 2.1598 - val_mean_squared_error: 2.1598 - val_mean_absolute_error: 1.2352
    Epoch 4/200
    856/856 [==============================] - 0s 155us/sample - loss: 3.9955 - mean_squared_error: 3.9955 - mean_absolute_error: 1.6084 - val_loss: 1.4927 - val_mean_squared_error: 1.4927 - val_mean_absolute_error: 1.0268
    Epoch 5/200
    856/856 [==============================] - 0s 154us/sample - loss: 3.5079 - mean_squared_error: 3.5079 - mean_absolute_error: 1.5178 - val_loss: 1.0485 - val_mean_squared_error: 1.0485 - val_mean_absolute_error: 0.8394
    Epoch 6/200
    856/856 [==============================] - 0s 157us/sample - loss: 3.3699 - mean_squared_error: 3.3699 - mean_absolute_error: 1.4761 - val_loss: 0.9247 - val_mean_squared_error: 0.9247 - val_mean_absolute_error: 0.7897
    Epoch 7/200
    856/856 [==============================] - 0s 151us/sample - loss: 3.1335 - mean_squared_error: 3.1335 - mean_absolute_error: 1.4103 - val_loss: 0.8207 - val_mean_squared_error: 0.8207 - val_mean_absolute_error: 0.7274
    Epoch 8/200
    856/856 [==============================] - 0s 152us/sample - loss: 3.1021 - mean_squared_error: 3.1021 - mean_absolute_error: 1.4162 - val_loss: 0.5782 - val_mean_squared_error: 0.5782 - val_mean_absolute_error: 0.5825
    Epoch 9/200
    856/856 [==============================] - 0s 152us/sample - loss: 2.7783 - mean_squared_error: 2.7783 - mean_absolute_error: 1.3228 - val_loss: 0.6557 - val_mean_squared_error: 0.6557 - val_mean_absolute_error: 0.6462
    Epoch 10/200
    856/856 [==============================] - 0s 153us/sample - loss: 2.8290 - mean_squared_error: 2.8290 - mean_absolute_error: 1.3497 - val_loss: 0.6596 - val_mean_squared_error: 0.6596 - val_mean_absolute_error: 0.6508
    Epoch 11/200
    856/856 [==============================] - 0s 178us/sample - loss: 2.4912 - mean_squared_error: 2.4912 - mean_absolute_error: 1.2442 - val_loss: 0.5894 - val_mean_squared_error: 0.5894 - val_mean_absolute_error: 0.6055
    Epoch 12/200
    856/856 [==============================] - 0s 159us/sample - loss: 2.3763 - mean_squared_error: 2.3763 - mean_absolute_error: 1.2252 - val_loss: 0.5144 - val_mean_squared_error: 0.5144 - val_mean_absolute_error: 0.5552
    Epoch 13/200
    856/856 [==============================] - 0s 158us/sample - loss: 2.4728 - mean_squared_error: 2.4728 - mean_absolute_error: 1.2288 - val_loss: 0.5551 - val_mean_squared_error: 0.5551 - val_mean_absolute_error: 0.5704
    Epoch 14/200
    856/856 [==============================] - 0s 153us/sample - loss: 2.2382 - mean_squared_error: 2.2382 - mean_absolute_error: 1.1931 - val_loss: 0.4569 - val_mean_squared_error: 0.4569 - val_mean_absolute_error: 0.5213
    Epoch 15/200
    856/856 [==============================] - 0s 155us/sample - loss: 2.2683 - mean_squared_error: 2.2683 - mean_absolute_error: 1.2047 - val_loss: 0.5003 - val_mean_squared_error: 0.5003 - val_mean_absolute_error: 0.5330
    Epoch 16/200
    856/856 [==============================] - 0s 153us/sample - loss: 2.1854 - mean_squared_error: 2.1854 - mean_absolute_error: 1.1807 - val_loss: 0.4439 - val_mean_squared_error: 0.4439 - val_mean_absolute_error: 0.5068
    Epoch 17/200
    856/856 [==============================] - 0s 162us/sample - loss: 2.2764 - mean_squared_error: 2.2764 - mean_absolute_error: 1.2038 - val_loss: 0.4102 - val_mean_squared_error: 0.4102 - val_mean_absolute_error: 0.4913
    Epoch 18/200
    856/856 [==============================] - 0s 150us/sample - loss: 2.2475 - mean_squared_error: 2.2475 - mean_absolute_error: 1.1967 - val_loss: 0.5532 - val_mean_squared_error: 0.5532 - val_mean_absolute_error: 0.5786
    Epoch 19/200
    856/856 [==============================] - 0s 150us/sample - loss: 2.1785 - mean_squared_error: 2.1785 - mean_absolute_error: 1.1729 - val_loss: 0.4127 - val_mean_squared_error: 0.4127 - val_mean_absolute_error: 0.4896
    Epoch 20/200
    856/856 [==============================] - 0s 159us/sample - loss: 2.1451 - mean_squared_error: 2.1451 - mean_absolute_error: 1.1709 - val_loss: 0.4805 - val_mean_squared_error: 0.4805 - val_mean_absolute_error: 0.5318
    Epoch 21/200
    856/856 [==============================] - 0s 167us/sample - loss: 2.1476 - mean_squared_error: 2.1476 - mean_absolute_error: 1.1759 - val_loss: 0.5513 - val_mean_squared_error: 0.5513 - val_mean_absolute_error: 0.5705
    Epoch 22/200
    856/856 [==============================] - 0s 152us/sample - loss: 1.8763 - mean_squared_error: 1.8763 - mean_absolute_error: 1.0844 - val_loss: 0.5015 - val_mean_squared_error: 0.5015 - val_mean_absolute_error: 0.5538
    Epoch 23/200
    856/856 [==============================] - 0s 162us/sample - loss: 2.0451 - mean_squared_error: 2.0451 - mean_absolute_error: 1.1283 - val_loss: 0.4595 - val_mean_squared_error: 0.4595 - val_mean_absolute_error: 0.5269
    Epoch 24/200
    856/856 [==============================] - 0s 159us/sample - loss: 1.8106 - mean_squared_error: 1.8106 - mean_absolute_error: 1.0761 - val_loss: 0.4381 - val_mean_squared_error: 0.4381 - val_mean_absolute_error: 0.5112
    Epoch 25/200
    856/856 [==============================] - 0s 155us/sample - loss: 1.8514 - mean_squared_error: 1.8514 - mean_absolute_error: 1.0891 - val_loss: 0.4892 - val_mean_squared_error: 0.4892 - val_mean_absolute_error: 0.5356
    Epoch 26/200
    856/856 [==============================] - 0s 152us/sample - loss: 2.0447 - mean_squared_error: 2.0447 - mean_absolute_error: 1.1280 - val_loss: 0.5103 - val_mean_squared_error: 0.5103 - val_mean_absolute_error: 0.5531
    Epoch 27/200
    856/856 [==============================] - 0s 155us/sample - loss: 1.8961 - mean_squared_error: 1.8961 - mean_absolute_error: 1.0948 - val_loss: 0.4215 - val_mean_squared_error: 0.4215 - val_mean_absolute_error: 0.4882
    Epoch 28/200
    856/856 [==============================] - 0s 169us/sample - loss: 1.7215 - mean_squared_error: 1.7215 - mean_absolute_error: 1.0489 - val_loss: 0.4437 - val_mean_squared_error: 0.4437 - val_mean_absolute_error: 0.5110
    Epoch 29/200
    856/856 [==============================] - 0s 154us/sample - loss: 1.6555 - mean_squared_error: 1.6555 - mean_absolute_error: 1.0281 - val_loss: 0.4133 - val_mean_squared_error: 0.4133 - val_mean_absolute_error: 0.4929
    Epoch 30/200
    856/856 [==============================] - 0s 155us/sample - loss: 1.8992 - mean_squared_error: 1.8992 - mean_absolute_error: 1.0797 - val_loss: 0.5089 - val_mean_squared_error: 0.5089 - val_mean_absolute_error: 0.5518
    Epoch 31/200
    856/856 [==============================] - 0s 155us/sample - loss: 1.5771 - mean_squared_error: 1.5771 - mean_absolute_error: 1.0058 - val_loss: 0.4004 - val_mean_squared_error: 0.4004 - val_mean_absolute_error: 0.4741
    Epoch 32/200
    856/856 [==============================] - 0s 164us/sample - loss: 1.6944 - mean_squared_error: 1.6944 - mean_absolute_error: 1.0220 - val_loss: 0.4212 - val_mean_squared_error: 0.4212 - val_mean_absolute_error: 0.4917
    Epoch 33/200
    856/856 [==============================] - 0s 148us/sample - loss: 1.5534 - mean_squared_error: 1.5534 - mean_absolute_error: 0.9894 - val_loss: 0.4081 - val_mean_squared_error: 0.4081 - val_mean_absolute_error: 0.4857
    Epoch 34/200
    856/856 [==============================] - 0s 155us/sample - loss: 1.5091 - mean_squared_error: 1.5091 - mean_absolute_error: 0.9746 - val_loss: 0.4042 - val_mean_squared_error: 0.4042 - val_mean_absolute_error: 0.4812
    Epoch 35/200
    856/856 [==============================] - 0s 155us/sample - loss: 1.5923 - mean_squared_error: 1.5923 - mean_absolute_error: 0.9987 - val_loss: 0.4152 - val_mean_squared_error: 0.4152 - val_mean_absolute_error: 0.4842
    Epoch 36/200
    856/856 [==============================] - 0s 162us/sample - loss: 1.6037 - mean_squared_error: 1.6037 - mean_absolute_error: 0.9964 - val_loss: 0.3838 - val_mean_squared_error: 0.3838 - val_mean_absolute_error: 0.4648
    Epoch 37/200
    856/856 [==============================] - 0s 150us/sample - loss: 1.4778 - mean_squared_error: 1.4778 - mean_absolute_error: 0.9428 - val_loss: 0.3943 - val_mean_squared_error: 0.3943 - val_mean_absolute_error: 0.4747
    Epoch 38/200
    856/856 [==============================] - 0s 138us/sample - loss: 1.4798 - mean_squared_error: 1.4798 - mean_absolute_error: 0.9551 - val_loss: 0.4481 - val_mean_squared_error: 0.4481 - val_mean_absolute_error: 0.5135
    Epoch 39/200
    856/856 [==============================] - 0s 148us/sample - loss: 1.4415 - mean_squared_error: 1.4415 - mean_absolute_error: 0.9435 - val_loss: 0.4416 - val_mean_squared_error: 0.4416 - val_mean_absolute_error: 0.4973
    Epoch 40/200
    856/856 [==============================] - 0s 139us/sample - loss: 1.4665 - mean_squared_error: 1.4665 - mean_absolute_error: 0.9580 - val_loss: 0.4087 - val_mean_squared_error: 0.4087 - val_mean_absolute_error: 0.4825
    Epoch 41/200
    856/856 [==============================] - 0s 137us/sample - loss: 1.4795 - mean_squared_error: 1.4795 - mean_absolute_error: 0.9752 - val_loss: 0.4107 - val_mean_squared_error: 0.4107 - val_mean_absolute_error: 0.4874
    Epoch 42/200
    856/856 [==============================] - 0s 146us/sample - loss: 1.4016 - mean_squared_error: 1.4016 - mean_absolute_error: 0.9315 - val_loss: 0.3947 - val_mean_squared_error: 0.3947 - val_mean_absolute_error: 0.4763
    Epoch 43/200
    856/856 [==============================] - 0s 154us/sample - loss: 1.3179 - mean_squared_error: 1.3179 - mean_absolute_error: 0.9140 - val_loss: 0.4498 - val_mean_squared_error: 0.4498 - val_mean_absolute_error: 0.5099
    Epoch 44/200
    856/856 [==============================] - 0s 147us/sample - loss: 1.4898 - mean_squared_error: 1.4898 - mean_absolute_error: 0.9573 - val_loss: 0.3819 - val_mean_squared_error: 0.3819 - val_mean_absolute_error: 0.4605
    Epoch 45/200
    856/856 [==============================] - 0s 147us/sample - loss: 1.2912 - mean_squared_error: 1.2912 - mean_absolute_error: 0.9030 - val_loss: 0.4024 - val_mean_squared_error: 0.4024 - val_mean_absolute_error: 0.4775
    Epoch 46/200
    856/856 [==============================] - 0s 148us/sample - loss: 1.2445 - mean_squared_error: 1.2445 - mean_absolute_error: 0.8843 - val_loss: 0.4283 - val_mean_squared_error: 0.4283 - val_mean_absolute_error: 0.4954
    Epoch 47/200
    856/856 [==============================] - 0s 150us/sample - loss: 1.3160 - mean_squared_error: 1.3160 - mean_absolute_error: 0.9027 - val_loss: 0.3856 - val_mean_squared_error: 0.3856 - val_mean_absolute_error: 0.4654
    Epoch 48/200
    856/856 [==============================] - 0s 148us/sample - loss: 1.3710 - mean_squared_error: 1.3710 - mean_absolute_error: 0.9425 - val_loss: 0.3783 - val_mean_squared_error: 0.3783 - val_mean_absolute_error: 0.4569
    Epoch 49/200
    856/856 [==============================] - 0s 172us/sample - loss: 1.3440 - mean_squared_error: 1.3440 - mean_absolute_error: 0.9173 - val_loss: 0.4005 - val_mean_squared_error: 0.4005 - val_mean_absolute_error: 0.4715
    Epoch 50/200
    856/856 [==============================] - 0s 155us/sample - loss: 1.2856 - mean_squared_error: 1.2856 - mean_absolute_error: 0.8909 - val_loss: 0.3680 - val_mean_squared_error: 0.3680 - val_mean_absolute_error: 0.4483
    Epoch 51/200
    856/856 [==============================] - 0s 137us/sample - loss: 1.2824 - mean_squared_error: 1.2824 - mean_absolute_error: 0.8905 - val_loss: 0.3677 - val_mean_squared_error: 0.3677 - val_mean_absolute_error: 0.4505
    Epoch 52/200
    856/856 [==============================] - 0s 136us/sample - loss: 1.3016 - mean_squared_error: 1.3016 - mean_absolute_error: 0.8818 - val_loss: 0.3776 - val_mean_squared_error: 0.3776 - val_mean_absolute_error: 0.4561
    Epoch 53/200
    856/856 [==============================] - 0s 145us/sample - loss: 1.3839 - mean_squared_error: 1.3839 - mean_absolute_error: 0.9292 - val_loss: 0.4095 - val_mean_squared_error: 0.4095 - val_mean_absolute_error: 0.4743
    Epoch 54/200
    856/856 [==============================] - 0s 151us/sample - loss: 1.2882 - mean_squared_error: 1.2882 - mean_absolute_error: 0.8993 - val_loss: 0.3991 - val_mean_squared_error: 0.3991 - val_mean_absolute_error: 0.4744
    Epoch 55/200
    856/856 [==============================] - 0s 154us/sample - loss: 1.3144 - mean_squared_error: 1.3144 - mean_absolute_error: 0.9034 - val_loss: 0.3831 - val_mean_squared_error: 0.3831 - val_mean_absolute_error: 0.4613
    Epoch 56/200
    856/856 [==============================] - 0s 147us/sample - loss: 1.2197 - mean_squared_error: 1.2197 - mean_absolute_error: 0.8806 - val_loss: 0.3678 - val_mean_squared_error: 0.3678 - val_mean_absolute_error: 0.4494
    Epoch 57/200
    856/856 [==============================] - 0s 152us/sample - loss: 1.2381 - mean_squared_error: 1.2381 - mean_absolute_error: 0.8780 - val_loss: 0.3657 - val_mean_squared_error: 0.3657 - val_mean_absolute_error: 0.4507
    Epoch 58/200
    856/856 [==============================] - 0s 146us/sample - loss: 1.0967 - mean_squared_error: 1.0967 - mean_absolute_error: 0.8248 - val_loss: 0.4135 - val_mean_squared_error: 0.4135 - val_mean_absolute_error: 0.4777
    Epoch 59/200
    856/856 [==============================] - 0s 186us/sample - loss: 1.2071 - mean_squared_error: 1.2071 - mean_absolute_error: 0.8616 - val_loss: 0.3840 - val_mean_squared_error: 0.3840 - val_mean_absolute_error: 0.4601
    Epoch 60/200
    856/856 [==============================] - 0s 169us/sample - loss: 1.2831 - mean_squared_error: 1.2831 - mean_absolute_error: 0.8851 - val_loss: 0.3607 - val_mean_squared_error: 0.3607 - val_mean_absolute_error: 0.4491
    Epoch 61/200
    856/856 [==============================] - 0s 138us/sample - loss: 1.1248 - mean_squared_error: 1.1248 - mean_absolute_error: 0.8348 - val_loss: 0.3696 - val_mean_squared_error: 0.3696 - val_mean_absolute_error: 0.4585
    Epoch 62/200
    856/856 [==============================] - 0s 153us/sample - loss: 1.1331 - mean_squared_error: 1.1331 - mean_absolute_error: 0.8356 - val_loss: 0.3796 - val_mean_squared_error: 0.3796 - val_mean_absolute_error: 0.4742
    Epoch 63/200
    856/856 [==============================] - 0s 140us/sample - loss: 1.0636 - mean_squared_error: 1.0636 - mean_absolute_error: 0.8264 - val_loss: 0.3839 - val_mean_squared_error: 0.3839 - val_mean_absolute_error: 0.4722
    Epoch 64/200
    856/856 [==============================] - 0s 140us/sample - loss: 1.1082 - mean_squared_error: 1.1082 - mean_absolute_error: 0.8243 - val_loss: 0.3673 - val_mean_squared_error: 0.3673 - val_mean_absolute_error: 0.4637
    Epoch 65/200
    856/856 [==============================] - 0s 140us/sample - loss: 1.0938 - mean_squared_error: 1.0938 - mean_absolute_error: 0.8188 - val_loss: 0.3737 - val_mean_squared_error: 0.3737 - val_mean_absolute_error: 0.4624
    Epoch 66/200
    856/856 [==============================] - 0s 136us/sample - loss: 1.0635 - mean_squared_error: 1.0635 - mean_absolute_error: 0.8002 - val_loss: 0.3754 - val_mean_squared_error: 0.3754 - val_mean_absolute_error: 0.4659
    Epoch 67/200
    856/856 [==============================] - 0s 146us/sample - loss: 1.0004 - mean_squared_error: 1.0004 - mean_absolute_error: 0.7832 - val_loss: 0.3668 - val_mean_squared_error: 0.3668 - val_mean_absolute_error: 0.4605
    Epoch 68/200
    856/856 [==============================] - 0s 139us/sample - loss: 1.0681 - mean_squared_error: 1.0681 - mean_absolute_error: 0.7971 - val_loss: 0.3724 - val_mean_squared_error: 0.3724 - val_mean_absolute_error: 0.4584
    Epoch 69/200
    856/856 [==============================] - 0s 145us/sample - loss: 1.0931 - mean_squared_error: 1.0931 - mean_absolute_error: 0.8299 - val_loss: 0.3814 - val_mean_squared_error: 0.3814 - val_mean_absolute_error: 0.4607
    Epoch 70/200
    856/856 [==============================] - 0s 151us/sample - loss: 0.9624 - mean_squared_error: 0.9624 - mean_absolute_error: 0.7719 - val_loss: 0.3707 - val_mean_squared_error: 0.3707 - val_mean_absolute_error: 0.4597
    Epoch 71/200
    856/856 [==============================] - 0s 140us/sample - loss: 1.1376 - mean_squared_error: 1.1376 - mean_absolute_error: 0.8279 - val_loss: 0.3850 - val_mean_squared_error: 0.3850 - val_mean_absolute_error: 0.4732
    Epoch 72/200
    856/856 [==============================] - 0s 139us/sample - loss: 1.0178 - mean_squared_error: 1.0178 - mean_absolute_error: 0.8025 - val_loss: 0.3817 - val_mean_squared_error: 0.3817 - val_mean_absolute_error: 0.4678
    Epoch 73/200
    856/856 [==============================] - 0s 147us/sample - loss: 0.9649 - mean_squared_error: 0.9649 - mean_absolute_error: 0.7635 - val_loss: 0.4022 - val_mean_squared_error: 0.4022 - val_mean_absolute_error: 0.4810
    Epoch 74/200
    856/856 [==============================] - 0s 140us/sample - loss: 0.9530 - mean_squared_error: 0.9530 - mean_absolute_error: 0.7577 - val_loss: 0.4002 - val_mean_squared_error: 0.4002 - val_mean_absolute_error: 0.4838
    Epoch 75/200
    856/856 [==============================] - 0s 145us/sample - loss: 1.0005 - mean_squared_error: 1.0005 - mean_absolute_error: 0.7783 - val_loss: 0.3803 - val_mean_squared_error: 0.3803 - val_mean_absolute_error: 0.4792
    Epoch 76/200
    856/856 [==============================] - 0s 138us/sample - loss: 1.0332 - mean_squared_error: 1.0332 - mean_absolute_error: 0.7887 - val_loss: 0.3568 - val_mean_squared_error: 0.3568 - val_mean_absolute_error: 0.4648
    Epoch 77/200
    856/856 [==============================] - 0s 140us/sample - loss: 0.9998 - mean_squared_error: 0.9998 - mean_absolute_error: 0.7829 - val_loss: 0.3663 - val_mean_squared_error: 0.3663 - val_mean_absolute_error: 0.4636
    Epoch 78/200
    856/856 [==============================] - 0s 152us/sample - loss: 0.9937 - mean_squared_error: 0.9937 - mean_absolute_error: 0.7724 - val_loss: 0.3768 - val_mean_squared_error: 0.3768 - val_mean_absolute_error: 0.4645
    Epoch 79/200
    856/856 [==============================] - 0s 175us/sample - loss: 0.9502 - mean_squared_error: 0.9502 - mean_absolute_error: 0.7587 - val_loss: 0.3607 - val_mean_squared_error: 0.3607 - val_mean_absolute_error: 0.4539
    Epoch 80/200
    856/856 [==============================] - 0s 181us/sample - loss: 0.9419 - mean_squared_error: 0.9419 - mean_absolute_error: 0.7558 - val_loss: 0.3705 - val_mean_squared_error: 0.3705 - val_mean_absolute_error: 0.4657
    Epoch 81/200
    856/856 [==============================] - 0s 150us/sample - loss: 0.9093 - mean_squared_error: 0.9093 - mean_absolute_error: 0.7343 - val_loss: 0.3647 - val_mean_squared_error: 0.3647 - val_mean_absolute_error: 0.4599
    Epoch 82/200
    856/856 [==============================] - 0s 155us/sample - loss: 0.9077 - mean_squared_error: 0.9077 - mean_absolute_error: 0.7449 - val_loss: 0.3774 - val_mean_squared_error: 0.3774 - val_mean_absolute_error: 0.4597
    Epoch 83/200
    856/856 [==============================] - 0s 145us/sample - loss: 0.9472 - mean_squared_error: 0.9472 - mean_absolute_error: 0.7589 - val_loss: 0.3863 - val_mean_squared_error: 0.3863 - val_mean_absolute_error: 0.4749
    Epoch 84/200
    856/856 [==============================] - 0s 190us/sample - loss: 0.9015 - mean_squared_error: 0.9015 - mean_absolute_error: 0.7336 - val_loss: 0.3939 - val_mean_squared_error: 0.3939 - val_mean_absolute_error: 0.4852
    Epoch 85/200
    856/856 [==============================] - 0s 153us/sample - loss: 0.8564 - mean_squared_error: 0.8564 - mean_absolute_error: 0.7174 - val_loss: 0.3786 - val_mean_squared_error: 0.3786 - val_mean_absolute_error: 0.4748
    Epoch 86/200
    856/856 [==============================] - 0s 141us/sample - loss: 0.8783 - mean_squared_error: 0.8783 - mean_absolute_error: 0.7252 - val_loss: 0.3879 - val_mean_squared_error: 0.3879 - val_mean_absolute_error: 0.4779
    Epoch 87/200
    856/856 [==============================] - 0s 145us/sample - loss: 0.8870 - mean_squared_error: 0.8870 - mean_absolute_error: 0.7321 - val_loss: 0.3710 - val_mean_squared_error: 0.3710 - val_mean_absolute_error: 0.4663
    Epoch 88/200
    856/856 [==============================] - 0s 161us/sample - loss: 0.8600 - mean_squared_error: 0.8600 - mean_absolute_error: 0.7113 - val_loss: 0.3760 - val_mean_squared_error: 0.3760 - val_mean_absolute_error: 0.4750
    Epoch 89/200
    856/856 [==============================] - 0s 153us/sample - loss: 0.9138 - mean_squared_error: 0.9138 - mean_absolute_error: 0.7583 - val_loss: 0.3877 - val_mean_squared_error: 0.3877 - val_mean_absolute_error: 0.4834
    Epoch 90/200
    856/856 [==============================] - 0s 145us/sample - loss: 0.8721 - mean_squared_error: 0.8721 - mean_absolute_error: 0.7319 - val_loss: 0.3758 - val_mean_squared_error: 0.3758 - val_mean_absolute_error: 0.4680
    Epoch 91/200
    856/856 [==============================] - 0s 139us/sample - loss: 0.8789 - mean_squared_error: 0.8789 - mean_absolute_error: 0.7365 - val_loss: 0.4094 - val_mean_squared_error: 0.4094 - val_mean_absolute_error: 0.4984
    Epoch 92/200
    856/856 [==============================] - 0s 178us/sample - loss: 0.8564 - mean_squared_error: 0.8564 - mean_absolute_error: 0.7342 - val_loss: 0.3923 - val_mean_squared_error: 0.3923 - val_mean_absolute_error: 0.4870
    Epoch 93/200
    856/856 [==============================] - 0s 171us/sample - loss: 0.8238 - mean_squared_error: 0.8238 - mean_absolute_error: 0.7058 - val_loss: 0.3757 - val_mean_squared_error: 0.3757 - val_mean_absolute_error: 0.4748
    Epoch 94/200
    856/856 [==============================] - 0s 157us/sample - loss: 0.8626 - mean_squared_error: 0.8626 - mean_absolute_error: 0.7305 - val_loss: 0.3663 - val_mean_squared_error: 0.3663 - val_mean_absolute_error: 0.4693
    Epoch 95/200
    856/856 [==============================] - 0s 141us/sample - loss: 0.8524 - mean_squared_error: 0.8524 - mean_absolute_error: 0.7340 - val_loss: 0.3798 - val_mean_squared_error: 0.3798 - val_mean_absolute_error: 0.4778
    Epoch 96/200
    856/856 [==============================] - 0s 136us/sample - loss: 0.8451 - mean_squared_error: 0.8451 - mean_absolute_error: 0.7255 - val_loss: 0.3749 - val_mean_squared_error: 0.3749 - val_mean_absolute_error: 0.4734
    Epoch 97/200
    856/856 [==============================] - 0s 148us/sample - loss: 0.7934 - mean_squared_error: 0.7934 - mean_absolute_error: 0.7015 - val_loss: 0.3588 - val_mean_squared_error: 0.3588 - val_mean_absolute_error: 0.4664
    Epoch 98/200
    856/856 [==============================] - 0s 144us/sample - loss: 0.8022 - mean_squared_error: 0.8022 - mean_absolute_error: 0.6961 - val_loss: 0.3587 - val_mean_squared_error: 0.3587 - val_mean_absolute_error: 0.4682
    Epoch 99/200
    856/856 [==============================] - 0s 136us/sample - loss: 0.7231 - mean_squared_error: 0.7231 - mean_absolute_error: 0.6707 - val_loss: 0.3658 - val_mean_squared_error: 0.3658 - val_mean_absolute_error: 0.4698
    Epoch 100/200
    856/856 [==============================] - 0s 146us/sample - loss: 0.7715 - mean_squared_error: 0.7715 - mean_absolute_error: 0.6865 - val_loss: 0.3561 - val_mean_squared_error: 0.3561 - val_mean_absolute_error: 0.4710
    Epoch 101/200
    856/856 [==============================] - 0s 138us/sample - loss: 0.8189 - mean_squared_error: 0.8189 - mean_absolute_error: 0.7081 - val_loss: 0.3673 - val_mean_squared_error: 0.3673 - val_mean_absolute_error: 0.4715
    Epoch 102/200
    856/856 [==============================] - 0s 148us/sample - loss: 0.7708 - mean_squared_error: 0.7708 - mean_absolute_error: 0.6902 - val_loss: 0.3795 - val_mean_squared_error: 0.3795 - val_mean_absolute_error: 0.4794
    Epoch 103/200
    856/856 [==============================] - 0s 147us/sample - loss: 0.8192 - mean_squared_error: 0.8192 - mean_absolute_error: 0.7101 - val_loss: 0.3817 - val_mean_squared_error: 0.3817 - val_mean_absolute_error: 0.4792
    Epoch 104/200
    856/856 [==============================] - 0s 139us/sample - loss: 0.7725 - mean_squared_error: 0.7725 - mean_absolute_error: 0.6933 - val_loss: 0.3649 - val_mean_squared_error: 0.3649 - val_mean_absolute_error: 0.4712
    Epoch 105/200
    856/856 [==============================] - 0s 141us/sample - loss: 0.7616 - mean_squared_error: 0.7616 - mean_absolute_error: 0.6799 - val_loss: 0.3858 - val_mean_squared_error: 0.3858 - val_mean_absolute_error: 0.4860
    Epoch 106/200
    856/856 [==============================] - 0s 146us/sample - loss: 0.7531 - mean_squared_error: 0.7531 - mean_absolute_error: 0.6896 - val_loss: 0.3650 - val_mean_squared_error: 0.3650 - val_mean_absolute_error: 0.4796
    Epoch 107/200
    856/856 [==============================] - 0s 145us/sample - loss: 0.7392 - mean_squared_error: 0.7392 - mean_absolute_error: 0.6716 - val_loss: 0.3858 - val_mean_squared_error: 0.3858 - val_mean_absolute_error: 0.4812
    Epoch 108/200
    856/856 [==============================] - 0s 147us/sample - loss: 0.7689 - mean_squared_error: 0.7689 - mean_absolute_error: 0.6900 - val_loss: 0.3654 - val_mean_squared_error: 0.3654 - val_mean_absolute_error: 0.4776
    Epoch 109/200
    856/856 [==============================] - 0s 154us/sample - loss: 0.7857 - mean_squared_error: 0.7857 - mean_absolute_error: 0.6965 - val_loss: 0.3624 - val_mean_squared_error: 0.3624 - val_mean_absolute_error: 0.4734
    Epoch 110/200
    856/856 [==============================] - 0s 171us/sample - loss: 0.6839 - mean_squared_error: 0.6839 - mean_absolute_error: 0.6500 - val_loss: 0.3553 - val_mean_squared_error: 0.3553 - val_mean_absolute_error: 0.4660
    Epoch 111/200
    856/856 [==============================] - 0s 182us/sample - loss: 0.7258 - mean_squared_error: 0.7258 - mean_absolute_error: 0.6708 - val_loss: 0.3561 - val_mean_squared_error: 0.3561 - val_mean_absolute_error: 0.4642
    Epoch 112/200
    856/856 [==============================] - 0s 172us/sample - loss: 0.6828 - mean_squared_error: 0.6828 - mean_absolute_error: 0.6511 - val_loss: 0.3872 - val_mean_squared_error: 0.3872 - val_mean_absolute_error: 0.4867
    Epoch 113/200
    856/856 [==============================] - 0s 171us/sample - loss: 0.6999 - mean_squared_error: 0.6999 - mean_absolute_error: 0.6528 - val_loss: 0.3711 - val_mean_squared_error: 0.3711 - val_mean_absolute_error: 0.4816
    Epoch 114/200
    856/856 [==============================] - 0s 157us/sample - loss: 0.7081 - mean_squared_error: 0.7081 - mean_absolute_error: 0.6552 - val_loss: 0.3631 - val_mean_squared_error: 0.3631 - val_mean_absolute_error: 0.4720
    Epoch 115/200
    856/856 [==============================] - 0s 173us/sample - loss: 0.6375 - mean_squared_error: 0.6375 - mean_absolute_error: 0.6221 - val_loss: 0.3651 - val_mean_squared_error: 0.3651 - val_mean_absolute_error: 0.4752
    Epoch 116/200
    856/856 [==============================] - 0s 150us/sample - loss: 0.6764 - mean_squared_error: 0.6764 - mean_absolute_error: 0.6516 - val_loss: 0.3731 - val_mean_squared_error: 0.3731 - val_mean_absolute_error: 0.4818
    Epoch 117/200
    856/856 [==============================] - 0s 147us/sample - loss: 0.6625 - mean_squared_error: 0.6625 - mean_absolute_error: 0.6385 - val_loss: 0.3611 - val_mean_squared_error: 0.3611 - val_mean_absolute_error: 0.4751
    Epoch 118/200
    856/856 [==============================] - 0s 188us/sample - loss: 0.6790 - mean_squared_error: 0.6790 - mean_absolute_error: 0.6356 - val_loss: 0.3719 - val_mean_squared_error: 0.3719 - val_mean_absolute_error: 0.4794
    Epoch 119/200
    856/856 [==============================] - 0s 165us/sample - loss: 0.7255 - mean_squared_error: 0.7255 - mean_absolute_error: 0.6637 - val_loss: 0.3860 - val_mean_squared_error: 0.3860 - val_mean_absolute_error: 0.4866
    Epoch 120/200
    856/856 [==============================] - 0s 145us/sample - loss: 0.7165 - mean_squared_error: 0.7165 - mean_absolute_error: 0.6569 - val_loss: 0.3689 - val_mean_squared_error: 0.3689 - val_mean_absolute_error: 0.4783
    Epoch 121/200
    856/856 [==============================] - 0s 154us/sample - loss: 0.6922 - mean_squared_error: 0.6922 - mean_absolute_error: 0.6533 - val_loss: 0.3688 - val_mean_squared_error: 0.3688 - val_mean_absolute_error: 0.4722
    Epoch 122/200
    856/856 [==============================] - 0s 155us/sample - loss: 0.6554 - mean_squared_error: 0.6554 - mean_absolute_error: 0.6355 - val_loss: 0.3702 - val_mean_squared_error: 0.3702 - val_mean_absolute_error: 0.4706
    Epoch 123/200
    856/856 [==============================] - 0s 140us/sample - loss: 0.7037 - mean_squared_error: 0.7037 - mean_absolute_error: 0.6579 - val_loss: 0.3751 - val_mean_squared_error: 0.3751 - val_mean_absolute_error: 0.4684
    Epoch 124/200
    856/856 [==============================] - 0s 151us/sample - loss: 0.6516 - mean_squared_error: 0.6516 - mean_absolute_error: 0.6360 - val_loss: 0.3567 - val_mean_squared_error: 0.3567 - val_mean_absolute_error: 0.4707
    Epoch 125/200
    856/856 [==============================] - 0s 146us/sample - loss: 0.6550 - mean_squared_error: 0.6550 - mean_absolute_error: 0.6336 - val_loss: 0.3637 - val_mean_squared_error: 0.3637 - val_mean_absolute_error: 0.4734
    Epoch 126/200
    856/856 [==============================] - 0s 166us/sample - loss: 0.6456 - mean_squared_error: 0.6456 - mean_absolute_error: 0.6357 - val_loss: 0.3647 - val_mean_squared_error: 0.3647 - val_mean_absolute_error: 0.4741
    Epoch 127/200
    856/856 [==============================] - 0s 169us/sample - loss: 0.6719 - mean_squared_error: 0.6719 - mean_absolute_error: 0.6561 - val_loss: 0.3646 - val_mean_squared_error: 0.3646 - val_mean_absolute_error: 0.4775
    Epoch 128/200
    856/856 [==============================] - 0s 138us/sample - loss: 0.6292 - mean_squared_error: 0.6292 - mean_absolute_error: 0.6148 - val_loss: 0.3740 - val_mean_squared_error: 0.3740 - val_mean_absolute_error: 0.4847
    Epoch 129/200
    856/856 [==============================] - 0s 159us/sample - loss: 0.6230 - mean_squared_error: 0.6230 - mean_absolute_error: 0.6173 - val_loss: 0.3649 - val_mean_squared_error: 0.3649 - val_mean_absolute_error: 0.4806
    Epoch 130/200
    856/856 [==============================] - 0s 169us/sample - loss: 0.6460 - mean_squared_error: 0.6460 - mean_absolute_error: 0.6185 - val_loss: 0.3656 - val_mean_squared_error: 0.3656 - val_mean_absolute_error: 0.4786
    Epoch 131/200
    856/856 [==============================] - 0s 154us/sample - loss: 0.6312 - mean_squared_error: 0.6312 - mean_absolute_error: 0.6196 - val_loss: 0.3707 - val_mean_squared_error: 0.3707 - val_mean_absolute_error: 0.4817
    Epoch 132/200
    856/856 [==============================] - 0s 147us/sample - loss: 0.6219 - mean_squared_error: 0.6219 - mean_absolute_error: 0.6118 - val_loss: 0.3867 - val_mean_squared_error: 0.3867 - val_mean_absolute_error: 0.4874
    Epoch 133/200
    856/856 [==============================] - 0s 161us/sample - loss: 0.6144 - mean_squared_error: 0.6144 - mean_absolute_error: 0.6089 - val_loss: 0.3683 - val_mean_squared_error: 0.3683 - val_mean_absolute_error: 0.4793
    Epoch 134/200
    856/856 [==============================] - 0s 160us/sample - loss: 0.6206 - mean_squared_error: 0.6206 - mean_absolute_error: 0.6209 - val_loss: 0.3623 - val_mean_squared_error: 0.3623 - val_mean_absolute_error: 0.4720
    Epoch 135/200
    856/856 [==============================] - 0s 151us/sample - loss: 0.5997 - mean_squared_error: 0.5997 - mean_absolute_error: 0.6019 - val_loss: 0.3544 - val_mean_squared_error: 0.3544 - val_mean_absolute_error: 0.4702
    Epoch 136/200
    856/856 [==============================] - 0s 164us/sample - loss: 0.5888 - mean_squared_error: 0.5888 - mean_absolute_error: 0.6041 - val_loss: 0.3595 - val_mean_squared_error: 0.3595 - val_mean_absolute_error: 0.4729
    Epoch 137/200
    856/856 [==============================] - 0s 165us/sample - loss: 0.5919 - mean_squared_error: 0.5919 - mean_absolute_error: 0.5987 - val_loss: 0.3608 - val_mean_squared_error: 0.3608 - val_mean_absolute_error: 0.4734
    Epoch 138/200
    856/856 [==============================] - 0s 151us/sample - loss: 0.5636 - mean_squared_error: 0.5636 - mean_absolute_error: 0.5797 - val_loss: 0.3788 - val_mean_squared_error: 0.3788 - val_mean_absolute_error: 0.4864
    Epoch 139/200
    856/856 [==============================] - 0s 158us/sample - loss: 0.5977 - mean_squared_error: 0.5977 - mean_absolute_error: 0.6006 - val_loss: 0.3748 - val_mean_squared_error: 0.3748 - val_mean_absolute_error: 0.4814
    Epoch 140/200
    856/856 [==============================] - 0s 161us/sample - loss: 0.6004 - mean_squared_error: 0.6004 - mean_absolute_error: 0.6120 - val_loss: 0.3638 - val_mean_squared_error: 0.3638 - val_mean_absolute_error: 0.4761
    Epoch 141/200
    856/856 [==============================] - 0s 159us/sample - loss: 0.6116 - mean_squared_error: 0.6116 - mean_absolute_error: 0.6077 - val_loss: 0.3647 - val_mean_squared_error: 0.3647 - val_mean_absolute_error: 0.4753
    Epoch 142/200
    856/856 [==============================] - 0s 154us/sample - loss: 0.5804 - mean_squared_error: 0.5804 - mean_absolute_error: 0.5895 - val_loss: 0.3599 - val_mean_squared_error: 0.3599 - val_mean_absolute_error: 0.4749
    Epoch 143/200
    856/856 [==============================] - 0s 154us/sample - loss: 0.5907 - mean_squared_error: 0.5907 - mean_absolute_error: 0.6013 - val_loss: 0.3730 - val_mean_squared_error: 0.3730 - val_mean_absolute_error: 0.4829
    Epoch 144/200
    856/856 [==============================] - 0s 158us/sample - loss: 0.5598 - mean_squared_error: 0.5598 - mean_absolute_error: 0.5767 - val_loss: 0.3635 - val_mean_squared_error: 0.3635 - val_mean_absolute_error: 0.4794
    Epoch 145/200
    856/856 [==============================] - 0s 150us/sample - loss: 0.5963 - mean_squared_error: 0.5963 - mean_absolute_error: 0.5988 - val_loss: 0.3628 - val_mean_squared_error: 0.3628 - val_mean_absolute_error: 0.4758
    Epoch 146/200
    856/856 [==============================] - 0s 139us/sample - loss: 0.5703 - mean_squared_error: 0.5703 - mean_absolute_error: 0.5910 - val_loss: 0.3549 - val_mean_squared_error: 0.3549 - val_mean_absolute_error: 0.4717
    Epoch 147/200
    856/856 [==============================] - 0s 139us/sample - loss: 0.5442 - mean_squared_error: 0.5442 - mean_absolute_error: 0.5774 - val_loss: 0.3645 - val_mean_squared_error: 0.3645 - val_mean_absolute_error: 0.4740
    Epoch 148/200
    856/856 [==============================] - 0s 145us/sample - loss: 0.5716 - mean_squared_error: 0.5716 - mean_absolute_error: 0.5908 - val_loss: 0.3645 - val_mean_squared_error: 0.3645 - val_mean_absolute_error: 0.4781
    Epoch 149/200
    856/856 [==============================] - 0s 146us/sample - loss: 0.5817 - mean_squared_error: 0.5817 - mean_absolute_error: 0.6010 - val_loss: 0.3619 - val_mean_squared_error: 0.3619 - val_mean_absolute_error: 0.4784
    Epoch 150/200
    856/856 [==============================] - 0s 138us/sample - loss: 0.5815 - mean_squared_error: 0.5815 - mean_absolute_error: 0.6028 - val_loss: 0.3536 - val_mean_squared_error: 0.3536 - val_mean_absolute_error: 0.4722
    Epoch 151/200
    856/856 [==============================] - 0s 143us/sample - loss: 0.5714 - mean_squared_error: 0.5714 - mean_absolute_error: 0.5883 - val_loss: 0.3578 - val_mean_squared_error: 0.3578 - val_mean_absolute_error: 0.4738
    Epoch 152/200
    856/856 [==============================] - 0s 145us/sample - loss: 0.5688 - mean_squared_error: 0.5688 - mean_absolute_error: 0.5847 - val_loss: 0.3553 - val_mean_squared_error: 0.3553 - val_mean_absolute_error: 0.4704
    Epoch 153/200
    856/856 [==============================] - 0s 150us/sample - loss: 0.5589 - mean_squared_error: 0.5589 - mean_absolute_error: 0.5854 - val_loss: 0.3736 - val_mean_squared_error: 0.3736 - val_mean_absolute_error: 0.4812
    Epoch 154/200
    856/856 [==============================] - 0s 147us/sample - loss: 0.5790 - mean_squared_error: 0.5790 - mean_absolute_error: 0.5883 - val_loss: 0.3843 - val_mean_squared_error: 0.3843 - val_mean_absolute_error: 0.4889
    Epoch 155/200
    856/856 [==============================] - 0s 141us/sample - loss: 0.5578 - mean_squared_error: 0.5578 - mean_absolute_error: 0.5794 - val_loss: 0.3538 - val_mean_squared_error: 0.3538 - val_mean_absolute_error: 0.4720
    Epoch 156/200
    856/856 [==============================] - 0s 151us/sample - loss: 0.5610 - mean_squared_error: 0.5610 - mean_absolute_error: 0.5843 - val_loss: 0.3605 - val_mean_squared_error: 0.3605 - val_mean_absolute_error: 0.4722
    Epoch 157/200
    856/856 [==============================] - 0s 151us/sample - loss: 0.5144 - mean_squared_error: 0.5144 - mean_absolute_error: 0.5602 - val_loss: 0.3713 - val_mean_squared_error: 0.3713 - val_mean_absolute_error: 0.4811
    Epoch 158/200
    856/856 [==============================] - 0s 148us/sample - loss: 0.5269 - mean_squared_error: 0.5269 - mean_absolute_error: 0.5670 - val_loss: 0.3542 - val_mean_squared_error: 0.3542 - val_mean_absolute_error: 0.4709
    Epoch 159/200
    856/856 [==============================] - 0s 144us/sample - loss: 0.5238 - mean_squared_error: 0.5238 - mean_absolute_error: 0.5627 - val_loss: 0.3564 - val_mean_squared_error: 0.3564 - val_mean_absolute_error: 0.4673
    Epoch 160/200
    856/856 [==============================] - 0s 154us/sample - loss: 0.5158 - mean_squared_error: 0.5158 - mean_absolute_error: 0.5597 - val_loss: 0.3656 - val_mean_squared_error: 0.3656 - val_mean_absolute_error: 0.4765
    Epoch 161/200
    856/856 [==============================] - 0s 151us/sample - loss: 0.5406 - mean_squared_error: 0.5406 - mean_absolute_error: 0.5681 - val_loss: 0.3546 - val_mean_squared_error: 0.3546 - val_mean_absolute_error: 0.4721
    Epoch 162/200
    856/856 [==============================] - 0s 172us/sample - loss: 0.5272 - mean_squared_error: 0.5272 - mean_absolute_error: 0.5708 - val_loss: 0.3606 - val_mean_squared_error: 0.3606 - val_mean_absolute_error: 0.4777
    Epoch 163/200
    856/856 [==============================] - 0s 154us/sample - loss: 0.5283 - mean_squared_error: 0.5283 - mean_absolute_error: 0.5707 - val_loss: 0.3603 - val_mean_squared_error: 0.3603 - val_mean_absolute_error: 0.4750
    Epoch 164/200
    856/856 [==============================] - 0s 153us/sample - loss: 0.5102 - mean_squared_error: 0.5102 - mean_absolute_error: 0.5588 - val_loss: 0.3702 - val_mean_squared_error: 0.3702 - val_mean_absolute_error: 0.4791
    Epoch 165/200
    856/856 [==============================] - 0s 185us/sample - loss: 0.5257 - mean_squared_error: 0.5257 - mean_absolute_error: 0.5630 - val_loss: 0.3642 - val_mean_squared_error: 0.3642 - val_mean_absolute_error: 0.4794
    Epoch 166/200
    856/856 [==============================] - 0s 139us/sample - loss: 0.4972 - mean_squared_error: 0.4972 - mean_absolute_error: 0.5546 - val_loss: 0.3559 - val_mean_squared_error: 0.3559 - val_mean_absolute_error: 0.4712
    Epoch 167/200
    856/856 [==============================] - 0s 139us/sample - loss: 0.5338 - mean_squared_error: 0.5338 - mean_absolute_error: 0.5655 - val_loss: 0.3598 - val_mean_squared_error: 0.3598 - val_mean_absolute_error: 0.4733
    Epoch 168/200
    856/856 [==============================] - 0s 146us/sample - loss: 0.5335 - mean_squared_error: 0.5335 - mean_absolute_error: 0.5657 - val_loss: 0.3596 - val_mean_squared_error: 0.3596 - val_mean_absolute_error: 0.4742
    Epoch 169/200
    856/856 [==============================] - 0s 148us/sample - loss: 0.5251 - mean_squared_error: 0.5251 - mean_absolute_error: 0.5655 - val_loss: 0.3603 - val_mean_squared_error: 0.3603 - val_mean_absolute_error: 0.4723
    Epoch 170/200
    856/856 [==============================] - 0s 150us/sample - loss: 0.5126 - mean_squared_error: 0.5126 - mean_absolute_error: 0.5653 - val_loss: 0.3614 - val_mean_squared_error: 0.3614 - val_mean_absolute_error: 0.4729
    Epoch 171/200
    856/856 [==============================] - 0s 155us/sample - loss: 0.5175 - mean_squared_error: 0.5175 - mean_absolute_error: 0.5553 - val_loss: 0.3669 - val_mean_squared_error: 0.3669 - val_mean_absolute_error: 0.4795
    Epoch 172/200
    856/856 [==============================] - 0s 147us/sample - loss: 0.5388 - mean_squared_error: 0.5388 - mean_absolute_error: 0.5732 - val_loss: 0.3700 - val_mean_squared_error: 0.3700 - val_mean_absolute_error: 0.4832
    Epoch 173/200
    856/856 [==============================] - 0s 148us/sample - loss: 0.5274 - mean_squared_error: 0.5274 - mean_absolute_error: 0.5668 - val_loss: 0.3590 - val_mean_squared_error: 0.3590 - val_mean_absolute_error: 0.4745
    Epoch 174/200
    856/856 [==============================] - 0s 148us/sample - loss: 0.5219 - mean_squared_error: 0.5219 - mean_absolute_error: 0.5676 - val_loss: 0.3578 - val_mean_squared_error: 0.3578 - val_mean_absolute_error: 0.4729
    Epoch 175/200
    856/856 [==============================] - 0s 138us/sample - loss: 0.5514 - mean_squared_error: 0.5514 - mean_absolute_error: 0.5749 - val_loss: 0.3668 - val_mean_squared_error: 0.3668 - val_mean_absolute_error: 0.4812
    Epoch 176/200
    856/856 [==============================] - 0s 144us/sample - loss: 0.5240 - mean_squared_error: 0.5240 - mean_absolute_error: 0.5750 - val_loss: 0.3601 - val_mean_squared_error: 0.3601 - val_mean_absolute_error: 0.4755
    Epoch 177/200
    856/856 [==============================] - 0s 145us/sample - loss: 0.5102 - mean_squared_error: 0.5102 - mean_absolute_error: 0.5582 - val_loss: 0.3645 - val_mean_squared_error: 0.3645 - val_mean_absolute_error: 0.4789
    Epoch 178/200
    856/856 [==============================] - 0s 134us/sample - loss: 0.5091 - mean_squared_error: 0.5091 - mean_absolute_error: 0.5605 - val_loss: 0.3592 - val_mean_squared_error: 0.3592 - val_mean_absolute_error: 0.4763
    Epoch 179/200
    856/856 [==============================] - 0s 145us/sample - loss: 0.5197 - mean_squared_error: 0.5197 - mean_absolute_error: 0.5715 - val_loss: 0.3603 - val_mean_squared_error: 0.3603 - val_mean_absolute_error: 0.4775
    Epoch 180/200
    856/856 [==============================] - 0s 145us/sample - loss: 0.4918 - mean_squared_error: 0.4918 - mean_absolute_error: 0.5496 - val_loss: 0.3586 - val_mean_squared_error: 0.3586 - val_mean_absolute_error: 0.4743
    Epoch 181/200
    856/856 [==============================] - 0s 138us/sample - loss: 0.5166 - mean_squared_error: 0.5166 - mean_absolute_error: 0.5670 - val_loss: 0.3573 - val_mean_squared_error: 0.3573 - val_mean_absolute_error: 0.4728
    Epoch 182/200
    856/856 [==============================] - 0s 147us/sample - loss: 0.4981 - mean_squared_error: 0.4981 - mean_absolute_error: 0.5531 - val_loss: 0.3543 - val_mean_squared_error: 0.3543 - val_mean_absolute_error: 0.4714
    Epoch 183/200
    856/856 [==============================] - 0s 152us/sample - loss: 0.4916 - mean_squared_error: 0.4916 - mean_absolute_error: 0.5530 - val_loss: 0.3557 - val_mean_squared_error: 0.3557 - val_mean_absolute_error: 0.4736
    Epoch 184/200
    856/856 [==============================] - 0s 147us/sample - loss: 0.5209 - mean_squared_error: 0.5209 - mean_absolute_error: 0.5701 - val_loss: 0.3646 - val_mean_squared_error: 0.3646 - val_mean_absolute_error: 0.4801
    Epoch 185/200
    856/856 [==============================] - 0s 143us/sample - loss: 0.5306 - mean_squared_error: 0.5306 - mean_absolute_error: 0.5620 - val_loss: 0.3590 - val_mean_squared_error: 0.3590 - val_mean_absolute_error: 0.4755
    Epoch 186/200
    856/856 [==============================] - 0s 154us/sample - loss: 0.4884 - mean_squared_error: 0.4884 - mean_absolute_error: 0.5489 - val_loss: 0.3669 - val_mean_squared_error: 0.3669 - val_mean_absolute_error: 0.4824
    Epoch 187/200
    856/856 [==============================] - 0s 146us/sample - loss: 0.5013 - mean_squared_error: 0.5013 - mean_absolute_error: 0.5569 - val_loss: 0.3546 - val_mean_squared_error: 0.3546 - val_mean_absolute_error: 0.4722
    Epoch 188/200
    856/856 [==============================] - 0s 138us/sample - loss: 0.4951 - mean_squared_error: 0.4951 - mean_absolute_error: 0.5482 - val_loss: 0.3637 - val_mean_squared_error: 0.3637 - val_mean_absolute_error: 0.4813
    Epoch 189/200
    856/856 [==============================] - 0s 162us/sample - loss: 0.5112 - mean_squared_error: 0.5112 - mean_absolute_error: 0.5627 - val_loss: 0.3581 - val_mean_squared_error: 0.3581 - val_mean_absolute_error: 0.4761
    Epoch 190/200
    856/856 [==============================] - 0s 176us/sample - loss: 0.5144 - mean_squared_error: 0.5144 - mean_absolute_error: 0.5701 - val_loss: 0.3616 - val_mean_squared_error: 0.3616 - val_mean_absolute_error: 0.4772
    Epoch 191/200
    856/856 [==============================] - 0s 152us/sample - loss: 0.5125 - mean_squared_error: 0.5125 - mean_absolute_error: 0.5607 - val_loss: 0.3730 - val_mean_squared_error: 0.3730 - val_mean_absolute_error: 0.4886
    Epoch 192/200
    856/856 [==============================] - 0s 147us/sample - loss: 0.5111 - mean_squared_error: 0.5111 - mean_absolute_error: 0.5581 - val_loss: 0.3665 - val_mean_squared_error: 0.3665 - val_mean_absolute_error: 0.4834
    Epoch 193/200
    856/856 [==============================] - 0s 151us/sample - loss: 0.5090 - mean_squared_error: 0.5090 - mean_absolute_error: 0.5600 - val_loss: 0.3586 - val_mean_squared_error: 0.3586 - val_mean_absolute_error: 0.4763
    Epoch 194/200
    856/856 [==============================] - 0s 155us/sample - loss: 0.4744 - mean_squared_error: 0.4744 - mean_absolute_error: 0.5444 - val_loss: 0.3598 - val_mean_squared_error: 0.3598 - val_mean_absolute_error: 0.4767
    Epoch 195/200
    856/856 [==============================] - 0s 155us/sample - loss: 0.5139 - mean_squared_error: 0.5139 - mean_absolute_error: 0.5652 - val_loss: 0.3643 - val_mean_squared_error: 0.3643 - val_mean_absolute_error: 0.4809
    Epoch 196/200
    856/856 [==============================] - 0s 154us/sample - loss: 0.4856 - mean_squared_error: 0.4856 - mean_absolute_error: 0.5465 - val_loss: 0.3589 - val_mean_squared_error: 0.3589 - val_mean_absolute_error: 0.4763
    Epoch 197/200
    856/856 [==============================] - 0s 157us/sample - loss: 0.5062 - mean_squared_error: 0.5062 - mean_absolute_error: 0.5616 - val_loss: 0.3602 - val_mean_squared_error: 0.3602 - val_mean_absolute_error: 0.4783
    Epoch 198/200
    856/856 [==============================] - 0s 162us/sample - loss: 0.4805 - mean_squared_error: 0.4805 - mean_absolute_error: 0.5557 - val_loss: 0.3602 - val_mean_squared_error: 0.3602 - val_mean_absolute_error: 0.4763
    Epoch 199/200
    856/856 [==============================] - 0s 144us/sample - loss: 0.4877 - mean_squared_error: 0.4877 - mean_absolute_error: 0.5545 - val_loss: 0.3620 - val_mean_squared_error: 0.3620 - val_mean_absolute_error: 0.4774
    Epoch 200/200
    856/856 [==============================] - 0s 140us/sample - loss: 0.5055 - mean_squared_error: 0.5055 - mean_absolute_error: 0.5624 - val_loss: 0.3683 - val_mean_squared_error: 0.3683 - val_mean_absolute_error: 0.4835
    
    In [308]:
    print(history.history.keys())
    plt.plot(history.history['loss'])
    plt.plot(history.history['val_loss'])
    plt.title('model loss')
    plt.ylabel('loss')
    plt.xlabel('epoch')
    plt.legend(['train', 'validation'], loc='upper left')
    plt.show()
    
    dict_keys(['loss', 'mean_squared_error', 'mean_absolute_error', 'val_loss', 'val_mean_squared_error', 'val_mean_absolute_error'])
    
    In [309]:
    y_pred = model.predict(X_test)
    mean_squared_error(y_test, y_pred)
    
    Out[309]:
    0.46068788382694303

    Observations:

  • We got the mse score of 0.46 when we trained our neural network on the principal components.
  • Next we will try to train our neural network on the dataset that we received after removing correlated features that were detected through backward elimination algorithm

  • Training neural net on dataset obtained after backward elimination

    In [310]:
    for column in After_backward_elimination.drop(columns=['Signal_Strength']).columns:
        After_backward_elimination[column] = After_backward_elimination[column].apply(lambda x:
                            (x - After_backward_elimination[column].mean())/After_backward_elimination[column].std()
                           )
    
    In [311]:
    After_backward_elimination
    
    Out[311]:
    Parameter 2 Parameter 5 Parameter 7 Parameter 8 Parameter 9 Parameter 10 Parameter 11 Signal_Strength
    0 0.961576 -0.243630 -0.379014 0.558100 1.288240 -0.579025 -0.959946 5
    1 1.966827 0.223805 0.624168 0.028252 -0.719708 0.128910 -0.584594 5
    2 1.296660 0.096323 0.228975 0.134222 -0.331073 -0.048074 -0.584594 5
    3 -1.384011 -0.264878 0.411372 0.664069 -0.978798 -0.461036 -0.584594 6
    4 0.961576 -0.243630 -0.379014 0.558100 1.288240 -0.579025 -0.959946 5
    ... ... ... ... ... ... ... ... ...
    1594 0.403103 0.053829 -0.075020 -0.978459 0.899605 -0.461036 0.072271 5
    1595 0.123866 -0.541090 0.137777 -0.861893 1.353012 0.600867 0.729136 6
    1596 -0.099523 -0.243630 -0.196617 -0.533387 0.705287 0.541872 0.541460 6
    1597 0.654416 -0.264878 -0.075020 -0.676446 1.676875 0.305894 -0.209243 5
    1598 -1.216469 -0.434854 -0.135818 -0.665849 0.510970 0.010921 0.541460 6

    1599 rows × 8 columns

    In [312]:
    X = After_backward_elimination.drop(columns=['Signal_Strength']).values
    Y = After_backward_elimination['Signal_Strength'].values
    X_train, X_test, y_train, y_test = train_test_split(X, Y,test_size=0.33, random_state=42)
    
    In [313]:
    X.shape
    
    Out[313]:
    (1599, 7)
    In [314]:
    model1 = Sequential()
    model1.add(Dense(10, input_dim=7, kernel_initializer='normal', activation='relu'))
    model1.add(Dropout(0.25))
    model1.add(Dense(10, activation='relu'))
    model1.add(Dropout(0.25))
    model1.add(Dense(1, activation='linear'))
    model1.summary()
    
    Model: "sequential_19"
    _________________________________________________________________
    Layer (type)                 Output Shape              Param #   
    =================================================================
    dense_58 (Dense)             (None, 10)                80        
    _________________________________________________________________
    dropout_32 (Dropout)         (None, 10)                0         
    _________________________________________________________________
    dense_59 (Dense)             (None, 10)                110       
    _________________________________________________________________
    dropout_33 (Dropout)         (None, 10)                0         
    _________________________________________________________________
    dense_60 (Dense)             (None, 1)                 11        
    =================================================================
    Total params: 201
    Trainable params: 201
    Non-trainable params: 0
    _________________________________________________________________
    
    In [315]:
    model1.compile(loss='mse', optimizer='adam', metrics=['mse','mae'])
    
    In [316]:
    history = model1.fit(X_train, y_train, epochs=200, batch_size=10,  verbose=1, validation_split=0.2)
    
    Train on 856 samples, validate on 215 samples
    Epoch 1/200
    856/856 [==============================] - 1s 713us/sample - loss: 27.0769 - mean_squared_error: 27.0769 - mean_absolute_error: 5.1202 - val_loss: 21.0025 - val_mean_squared_error: 21.0025 - val_mean_absolute_error: 4.5084
    Epoch 2/200
    856/856 [==============================] - 0s 153us/sample - loss: 14.2819 - mean_squared_error: 14.2819 - mean_absolute_error: 3.5655 - val_loss: 6.6728 - val_mean_squared_error: 6.6728 - val_mean_absolute_error: 2.4240
    Epoch 3/200
    856/856 [==============================] - 0s 157us/sample - loss: 5.8012 - mean_squared_error: 5.8012 - mean_absolute_error: 2.0230 - val_loss: 1.7196 - val_mean_squared_error: 1.7196 - val_mean_absolute_error: 1.1247
    Epoch 4/200
    856/856 [==============================] - 0s 166us/sample - loss: 3.6995 - mean_squared_error: 3.6995 - mean_absolute_error: 1.5689 - val_loss: 0.9809 - val_mean_squared_error: 0.9809 - val_mean_absolute_error: 0.7907
    Epoch 5/200
    856/856 [==============================] - 0s 158us/sample - loss: 3.4464 - mean_squared_error: 3.4464 - mean_absolute_error: 1.4866 - val_loss: 0.8083 - val_mean_squared_error: 0.8083 - val_mean_absolute_error: 0.7176
    Epoch 6/200
    856/856 [==============================] - 0s 158us/sample - loss: 3.4701 - mean_squared_error: 3.4701 - mean_absolute_error: 1.4903 - val_loss: 0.7205 - val_mean_squared_error: 0.7205 - val_mean_absolute_error: 0.6643
    Epoch 7/200
    856/856 [==============================] - 0s 159us/sample - loss: 3.0271 - mean_squared_error: 3.0271 - mean_absolute_error: 1.3829 - val_loss: 0.6496 - val_mean_squared_error: 0.6496 - val_mean_absolute_error: 0.6268
    Epoch 8/200
    856/856 [==============================] - 0s 157us/sample - loss: 2.6860 - mean_squared_error: 2.6860 - mean_absolute_error: 1.3193 - val_loss: 0.5993 - val_mean_squared_error: 0.5993 - val_mean_absolute_error: 0.6042
    Epoch 9/200
    856/856 [==============================] - 0s 164us/sample - loss: 2.5391 - mean_squared_error: 2.5391 - mean_absolute_error: 1.2836 - val_loss: 0.4838 - val_mean_squared_error: 0.4838 - val_mean_absolute_error: 0.5333
    Epoch 10/200
    856/856 [==============================] - 0s 158us/sample - loss: 2.5447 - mean_squared_error: 2.5447 - mean_absolute_error: 1.2809 - val_loss: 0.5368 - val_mean_squared_error: 0.5368 - val_mean_absolute_error: 0.5804
    Epoch 11/200
    856/856 [==============================] - 0s 162us/sample - loss: 2.5914 - mean_squared_error: 2.5914 - mean_absolute_error: 1.2881 - val_loss: 0.4532 - val_mean_squared_error: 0.4532 - val_mean_absolute_error: 0.5244
    Epoch 12/200
    856/856 [==============================] - 0s 165us/sample - loss: 2.5336 - mean_squared_error: 2.5336 - mean_absolute_error: 1.2786 - val_loss: 0.4985 - val_mean_squared_error: 0.4985 - val_mean_absolute_error: 0.5529
    Epoch 13/200
    856/856 [==============================] - 0s 151us/sample - loss: 2.4436 - mean_squared_error: 2.4436 - mean_absolute_error: 1.2506 - val_loss: 0.5087 - val_mean_squared_error: 0.5087 - val_mean_absolute_error: 0.5666
    Epoch 14/200
    856/856 [==============================] - 0s 158us/sample - loss: 2.2224 - mean_squared_error: 2.2224 - mean_absolute_error: 1.1857 - val_loss: 0.4428 - val_mean_squared_error: 0.4428 - val_mean_absolute_error: 0.5094
    Epoch 15/200
    856/856 [==============================] - 0s 160us/sample - loss: 2.4097 - mean_squared_error: 2.4097 - mean_absolute_error: 1.2289 - val_loss: 0.4791 - val_mean_squared_error: 0.4791 - val_mean_absolute_error: 0.5405
    Epoch 16/200
    856/856 [==============================] - 0s 159us/sample - loss: 2.1911 - mean_squared_error: 2.1911 - mean_absolute_error: 1.1879 - val_loss: 0.5286 - val_mean_squared_error: 0.5286 - val_mean_absolute_error: 0.5771
    Epoch 17/200
    856/856 [==============================] - 0s 148us/sample - loss: 2.1595 - mean_squared_error: 2.1595 - mean_absolute_error: 1.1797 - val_loss: 0.5149 - val_mean_squared_error: 0.5149 - val_mean_absolute_error: 0.5585
    Epoch 18/200
    856/856 [==============================] - 0s 155us/sample - loss: 2.1089 - mean_squared_error: 2.1089 - mean_absolute_error: 1.1614 - val_loss: 0.4248 - val_mean_squared_error: 0.4248 - val_mean_absolute_error: 0.4939
    Epoch 19/200
    856/856 [==============================] - 0s 175us/sample - loss: 2.1095 - mean_squared_error: 2.1095 - mean_absolute_error: 1.1711 - val_loss: 0.4763 - val_mean_squared_error: 0.4763 - val_mean_absolute_error: 0.5404
    Epoch 20/200
    856/856 [==============================] - 0s 169us/sample - loss: 2.0930 - mean_squared_error: 2.0930 - mean_absolute_error: 1.1383 - val_loss: 0.4934 - val_mean_squared_error: 0.4934 - val_mean_absolute_error: 0.5390
    Epoch 21/200
    856/856 [==============================] - 0s 169us/sample - loss: 2.0752 - mean_squared_error: 2.0752 - mean_absolute_error: 1.1282 - val_loss: 0.4523 - val_mean_squared_error: 0.4523 - val_mean_absolute_error: 0.5144
    Epoch 22/200
    856/856 [==============================] - 0s 222us/sample - loss: 1.9387 - mean_squared_error: 1.9387 - mean_absolute_error: 1.1009 - val_loss: 0.4624 - val_mean_squared_error: 0.4624 - val_mean_absolute_error: 0.5183
    Epoch 23/200
    856/856 [==============================] - 0s 181us/sample - loss: 1.8747 - mean_squared_error: 1.8747 - mean_absolute_error: 1.0867 - val_loss: 0.3506 - val_mean_squared_error: 0.3506 - val_mean_absolute_error: 0.4441
    Epoch 24/200
    856/856 [==============================] - 0s 155us/sample - loss: 1.7527 - mean_squared_error: 1.7527 - mean_absolute_error: 1.0586 - val_loss: 0.4554 - val_mean_squared_error: 0.4554 - val_mean_absolute_error: 0.5172
    Epoch 25/200
    856/856 [==============================] - 0s 162us/sample - loss: 1.7567 - mean_squared_error: 1.7567 - mean_absolute_error: 1.0541 - val_loss: 0.4554 - val_mean_squared_error: 0.4554 - val_mean_absolute_error: 0.5285
    Epoch 26/200
    856/856 [==============================] - 0s 174us/sample - loss: 1.6403 - mean_squared_error: 1.6403 - mean_absolute_error: 1.0020 - val_loss: 0.3817 - val_mean_squared_error: 0.3817 - val_mean_absolute_error: 0.4671
    Epoch 27/200
    856/856 [==============================] - 0s 162us/sample - loss: 1.8577 - mean_squared_error: 1.8577 - mean_absolute_error: 1.0681 - val_loss: 0.4780 - val_mean_squared_error: 0.4780 - val_mean_absolute_error: 0.5300
    Epoch 28/200
    856/856 [==============================] - 0s 153us/sample - loss: 1.6038 - mean_squared_error: 1.6038 - mean_absolute_error: 0.9878 - val_loss: 0.4114 - val_mean_squared_error: 0.4114 - val_mean_absolute_error: 0.4873
    Epoch 29/200
    856/856 [==============================] - 0s 192us/sample - loss: 1.6754 - mean_squared_error: 1.6754 - mean_absolute_error: 1.0245 - val_loss: 0.3951 - val_mean_squared_error: 0.3951 - val_mean_absolute_error: 0.4748
    Epoch 30/200
    856/856 [==============================] - 0s 166us/sample - loss: 1.6808 - mean_squared_error: 1.6808 - mean_absolute_error: 1.0188 - val_loss: 0.4320 - val_mean_squared_error: 0.4320 - val_mean_absolute_error: 0.4989
    Epoch 31/200
    856/856 [==============================] - 0s 165us/sample - loss: 1.6089 - mean_squared_error: 1.6089 - mean_absolute_error: 0.9751 - val_loss: 0.4059 - val_mean_squared_error: 0.4059 - val_mean_absolute_error: 0.4845
    Epoch 32/200
    856/856 [==============================] - 0s 183us/sample - loss: 1.6332 - mean_squared_error: 1.6332 - mean_absolute_error: 1.0078 - val_loss: 0.3744 - val_mean_squared_error: 0.3744 - val_mean_absolute_error: 0.4632
    Epoch 33/200
    856/856 [==============================] - 0s 155us/sample - loss: 1.5424 - mean_squared_error: 1.5424 - mean_absolute_error: 0.9934 - val_loss: 0.3782 - val_mean_squared_error: 0.3782 - val_mean_absolute_error: 0.4674
    Epoch 34/200
    856/856 [==============================] - 0s 181us/sample - loss: 1.6157 - mean_squared_error: 1.6157 - mean_absolute_error: 0.9932 - val_loss: 0.3925 - val_mean_squared_error: 0.3925 - val_mean_absolute_error: 0.4741
    Epoch 35/200
    856/856 [==============================] - 0s 159us/sample - loss: 1.5511 - mean_squared_error: 1.5511 - mean_absolute_error: 0.9932 - val_loss: 0.3517 - val_mean_squared_error: 0.3517 - val_mean_absolute_error: 0.4419
    Epoch 36/200
    856/856 [==============================] - 0s 153us/sample - loss: 1.5220 - mean_squared_error: 1.5220 - mean_absolute_error: 0.9721 - val_loss: 0.3852 - val_mean_squared_error: 0.3852 - val_mean_absolute_error: 0.4673
    Epoch 37/200
    856/856 [==============================] - 0s 137us/sample - loss: 1.5409 - mean_squared_error: 1.5409 - mean_absolute_error: 0.9872 - val_loss: 0.3771 - val_mean_squared_error: 0.3771 - val_mean_absolute_error: 0.4640
    Epoch 38/200
    856/856 [==============================] - 0s 139us/sample - loss: 1.5172 - mean_squared_error: 1.5172 - mean_absolute_error: 0.9738 - val_loss: 0.3866 - val_mean_squared_error: 0.3866 - val_mean_absolute_error: 0.4750
    Epoch 39/200
    856/856 [==============================] - 0s 141us/sample - loss: 1.4369 - mean_squared_error: 1.4369 - mean_absolute_error: 0.9417 - val_loss: 0.3820 - val_mean_squared_error: 0.3820 - val_mean_absolute_error: 0.4695
    Epoch 40/200
    856/856 [==============================] - 0s 146us/sample - loss: 1.4758 - mean_squared_error: 1.4758 - mean_absolute_error: 0.9479 - val_loss: 0.3766 - val_mean_squared_error: 0.3766 - val_mean_absolute_error: 0.4643
    Epoch 41/200
    856/856 [==============================] - 0s 174us/sample - loss: 1.3019 - mean_squared_error: 1.3019 - mean_absolute_error: 0.8998 - val_loss: 0.3973 - val_mean_squared_error: 0.3973 - val_mean_absolute_error: 0.4845
    Epoch 42/200
    856/856 [==============================] - 0s 172us/sample - loss: 1.3523 - mean_squared_error: 1.3523 - mean_absolute_error: 0.9095 - val_loss: 0.3887 - val_mean_squared_error: 0.3887 - val_mean_absolute_error: 0.4737
    Epoch 43/200
    856/856 [==============================] - 0s 144us/sample - loss: 1.4531 - mean_squared_error: 1.4531 - mean_absolute_error: 0.9650 - val_loss: 0.3811 - val_mean_squared_error: 0.3811 - val_mean_absolute_error: 0.4682
    Epoch 44/200
    856/856 [==============================] - 0s 180us/sample - loss: 1.4338 - mean_squared_error: 1.4338 - mean_absolute_error: 0.9579 - val_loss: 0.3536 - val_mean_squared_error: 0.3536 - val_mean_absolute_error: 0.4512
    Epoch 45/200
    856/856 [==============================] - 0s 188us/sample - loss: 1.3920 - mean_squared_error: 1.3920 - mean_absolute_error: 0.9272 - val_loss: 0.3738 - val_mean_squared_error: 0.3738 - val_mean_absolute_error: 0.4605
    Epoch 46/200
    856/856 [==============================] - 0s 154us/sample - loss: 1.4071 - mean_squared_error: 1.4071 - mean_absolute_error: 0.9307 - val_loss: 0.3715 - val_mean_squared_error: 0.3715 - val_mean_absolute_error: 0.4594
    Epoch 47/200
    856/856 [==============================] - 0s 193us/sample - loss: 1.2651 - mean_squared_error: 1.2651 - mean_absolute_error: 0.8719 - val_loss: 0.3524 - val_mean_squared_error: 0.3524 - val_mean_absolute_error: 0.4471
    Epoch 48/200
    856/856 [==============================] - 0s 138us/sample - loss: 1.3630 - mean_squared_error: 1.3630 - mean_absolute_error: 0.9229 - val_loss: 0.3631 - val_mean_squared_error: 0.3631 - val_mean_absolute_error: 0.4487
    Epoch 49/200
    856/856 [==============================] - 0s 150us/sample - loss: 1.2453 - mean_squared_error: 1.2453 - mean_absolute_error: 0.8896 - val_loss: 0.3463 - val_mean_squared_error: 0.3463 - val_mean_absolute_error: 0.4383
    Epoch 50/200
    856/856 [==============================] - 0s 151us/sample - loss: 1.3090 - mean_squared_error: 1.3090 - mean_absolute_error: 0.9063 - val_loss: 0.3582 - val_mean_squared_error: 0.3582 - val_mean_absolute_error: 0.4460
    Epoch 51/200
    856/856 [==============================] - 0s 148us/sample - loss: 1.1917 - mean_squared_error: 1.1917 - mean_absolute_error: 0.8614 - val_loss: 0.3440 - val_mean_squared_error: 0.3440 - val_mean_absolute_error: 0.4422
    Epoch 52/200
    856/856 [==============================] - 0s 141us/sample - loss: 1.2214 - mean_squared_error: 1.2214 - mean_absolute_error: 0.8671 - val_loss: 0.3467 - val_mean_squared_error: 0.3467 - val_mean_absolute_error: 0.4439
    Epoch 53/200
    856/856 [==============================] - 0s 148us/sample - loss: 1.2467 - mean_squared_error: 1.2467 - mean_absolute_error: 0.8850 - val_loss: 0.3681 - val_mean_squared_error: 0.3681 - val_mean_absolute_error: 0.4513
    Epoch 54/200
    856/856 [==============================] - 0s 148us/sample - loss: 1.2884 - mean_squared_error: 1.2884 - mean_absolute_error: 0.8921 - val_loss: 0.4086 - val_mean_squared_error: 0.4086 - val_mean_absolute_error: 0.4812
    Epoch 55/200
    856/856 [==============================] - 0s 140us/sample - loss: 1.2801 - mean_squared_error: 1.2801 - mean_absolute_error: 0.8881 - val_loss: 0.3907 - val_mean_squared_error: 0.3907 - val_mean_absolute_error: 0.4760
    Epoch 56/200
    856/856 [==============================] - 0s 147us/sample - loss: 1.1858 - mean_squared_error: 1.1858 - mean_absolute_error: 0.8667 - val_loss: 0.3469 - val_mean_squared_error: 0.3469 - val_mean_absolute_error: 0.4459
    Epoch 57/200
    856/856 [==============================] - 0s 151us/sample - loss: 1.1542 - mean_squared_error: 1.1542 - mean_absolute_error: 0.8430 - val_loss: 0.3541 - val_mean_squared_error: 0.3541 - val_mean_absolute_error: 0.4492
    Epoch 58/200
    856/856 [==============================] - 0s 162us/sample - loss: 1.1515 - mean_squared_error: 1.1515 - mean_absolute_error: 0.8466 - val_loss: 0.3560 - val_mean_squared_error: 0.3560 - val_mean_absolute_error: 0.4522
    Epoch 59/200
    856/856 [==============================] - 0s 166us/sample - loss: 1.1508 - mean_squared_error: 1.1508 - mean_absolute_error: 0.8495 - val_loss: 0.4014 - val_mean_squared_error: 0.4014 - val_mean_absolute_error: 0.4813
    Epoch 60/200
    856/856 [==============================] - 0s 132us/sample - loss: 1.1728 - mean_squared_error: 1.1728 - mean_absolute_error: 0.8437 - val_loss: 0.3930 - val_mean_squared_error: 0.3930 - val_mean_absolute_error: 0.4731
    Epoch 61/200
    856/856 [==============================] - 0s 138us/sample - loss: 1.1526 - mean_squared_error: 1.1526 - mean_absolute_error: 0.8308 - val_loss: 0.3308 - val_mean_squared_error: 0.3308 - val_mean_absolute_error: 0.4403
    Epoch 62/200
    856/856 [==============================] - 0s 150us/sample - loss: 1.0861 - mean_squared_error: 1.0861 - mean_absolute_error: 0.8194 - val_loss: 0.3616 - val_mean_squared_error: 0.3616 - val_mean_absolute_error: 0.4590
    Epoch 63/200
    856/856 [==============================] - 0s 147us/sample - loss: 1.1102 - mean_squared_error: 1.1102 - mean_absolute_error: 0.8256 - val_loss: 0.3528 - val_mean_squared_error: 0.3528 - val_mean_absolute_error: 0.4587
    Epoch 64/200
    856/856 [==============================] - 0s 141us/sample - loss: 1.0456 - mean_squared_error: 1.0456 - mean_absolute_error: 0.8000 - val_loss: 0.3362 - val_mean_squared_error: 0.3362 - val_mean_absolute_error: 0.4472
    Epoch 65/200
    856/856 [==============================] - 0s 148us/sample - loss: 1.1004 - mean_squared_error: 1.1004 - mean_absolute_error: 0.8299 - val_loss: 0.3534 - val_mean_squared_error: 0.3534 - val_mean_absolute_error: 0.4521
    Epoch 66/200
    856/856 [==============================] - 0s 151us/sample - loss: 1.0562 - mean_squared_error: 1.0562 - mean_absolute_error: 0.7887 - val_loss: 0.3667 - val_mean_squared_error: 0.3667 - val_mean_absolute_error: 0.4633
    Epoch 67/200
    856/856 [==============================] - 0s 145us/sample - loss: 1.0206 - mean_squared_error: 1.0206 - mean_absolute_error: 0.7946 - val_loss: 0.3458 - val_mean_squared_error: 0.3458 - val_mean_absolute_error: 0.4516
    Epoch 68/200
    856/856 [==============================] - 0s 148us/sample - loss: 1.0377 - mean_squared_error: 1.0377 - mean_absolute_error: 0.8007 - val_loss: 0.3460 - val_mean_squared_error: 0.3460 - val_mean_absolute_error: 0.4463
    Epoch 69/200
    856/856 [==============================] - 0s 151us/sample - loss: 1.0853 - mean_squared_error: 1.0853 - mean_absolute_error: 0.8061 - val_loss: 0.3234 - val_mean_squared_error: 0.3234 - val_mean_absolute_error: 0.4358
    Epoch 70/200
    856/856 [==============================] - 0s 144us/sample - loss: 0.9998 - mean_squared_error: 0.9998 - mean_absolute_error: 0.7890 - val_loss: 0.3292 - val_mean_squared_error: 0.3292 - val_mean_absolute_error: 0.4418
    Epoch 71/200
    856/856 [==============================] - 0s 155us/sample - loss: 1.0049 - mean_squared_error: 1.0049 - mean_absolute_error: 0.7845 - val_loss: 0.3320 - val_mean_squared_error: 0.3320 - val_mean_absolute_error: 0.4424
    Epoch 72/200
    856/856 [==============================] - 0s 145us/sample - loss: 0.9582 - mean_squared_error: 0.9582 - mean_absolute_error: 0.7731 - val_loss: 0.3633 - val_mean_squared_error: 0.3633 - val_mean_absolute_error: 0.4601
    Epoch 73/200
    856/856 [==============================] - 0s 148us/sample - loss: 1.0058 - mean_squared_error: 1.0058 - mean_absolute_error: 0.7918 - val_loss: 0.3568 - val_mean_squared_error: 0.3568 - val_mean_absolute_error: 0.4551
    Epoch 74/200
    856/856 [==============================] - 0s 153us/sample - loss: 0.9598 - mean_squared_error: 0.9598 - mean_absolute_error: 0.7609 - val_loss: 0.3578 - val_mean_squared_error: 0.3578 - val_mean_absolute_error: 0.4598
    Epoch 75/200
    856/856 [==============================] - 0s 153us/sample - loss: 0.9917 - mean_squared_error: 0.9917 - mean_absolute_error: 0.7749 - val_loss: 0.3425 - val_mean_squared_error: 0.3425 - val_mean_absolute_error: 0.4550
    Epoch 76/200
    856/856 [==============================] - 0s 151us/sample - loss: 1.0454 - mean_squared_error: 1.0454 - mean_absolute_error: 0.8074 - val_loss: 0.3489 - val_mean_squared_error: 0.3489 - val_mean_absolute_error: 0.4545
    Epoch 77/200
    856/856 [==============================] - 0s 150us/sample - loss: 0.8903 - mean_squared_error: 0.8903 - mean_absolute_error: 0.7416 - val_loss: 0.3349 - val_mean_squared_error: 0.3349 - val_mean_absolute_error: 0.4416
    Epoch 78/200
    856/856 [==============================] - 0s 145us/sample - loss: 1.0474 - mean_squared_error: 1.0474 - mean_absolute_error: 0.8027 - val_loss: 0.3336 - val_mean_squared_error: 0.3336 - val_mean_absolute_error: 0.4393
    Epoch 79/200
    856/856 [==============================] - 0s 148us/sample - loss: 0.9318 - mean_squared_error: 0.9318 - mean_absolute_error: 0.7625 - val_loss: 0.3563 - val_mean_squared_error: 0.3563 - val_mean_absolute_error: 0.4522
    Epoch 80/200
    856/856 [==============================] - 0s 150us/sample - loss: 0.9156 - mean_squared_error: 0.9156 - mean_absolute_error: 0.7320 - val_loss: 0.3394 - val_mean_squared_error: 0.3394 - val_mean_absolute_error: 0.4470
    Epoch 81/200
    856/856 [==============================] - 0s 147us/sample - loss: 0.9023 - mean_squared_error: 0.9023 - mean_absolute_error: 0.7364 - val_loss: 0.3454 - val_mean_squared_error: 0.3454 - val_mean_absolute_error: 0.4509
    Epoch 82/200
    856/856 [==============================] - 0s 148us/sample - loss: 0.9380 - mean_squared_error: 0.9380 - mean_absolute_error: 0.7613 - val_loss: 0.3445 - val_mean_squared_error: 0.3445 - val_mean_absolute_error: 0.4529
    Epoch 83/200
    856/856 [==============================] - 0s 147us/sample - loss: 0.8765 - mean_squared_error: 0.8765 - mean_absolute_error: 0.7236 - val_loss: 0.3277 - val_mean_squared_error: 0.3277 - val_mean_absolute_error: 0.4413
    Epoch 84/200
    856/856 [==============================] - 0s 147us/sample - loss: 0.8396 - mean_squared_error: 0.8396 - mean_absolute_error: 0.7351 - val_loss: 0.3638 - val_mean_squared_error: 0.3638 - val_mean_absolute_error: 0.4636
    Epoch 85/200
    856/856 [==============================] - 0s 147us/sample - loss: 0.9005 - mean_squared_error: 0.9005 - mean_absolute_error: 0.7382 - val_loss: 0.3437 - val_mean_squared_error: 0.3437 - val_mean_absolute_error: 0.4445
    Epoch 86/200
    856/856 [==============================] - 0s 147us/sample - loss: 0.8756 - mean_squared_error: 0.8756 - mean_absolute_error: 0.7336 - val_loss: 0.3269 - val_mean_squared_error: 0.3269 - val_mean_absolute_error: 0.4351
    Epoch 87/200
    856/856 [==============================] - 0s 146us/sample - loss: 0.8850 - mean_squared_error: 0.8850 - mean_absolute_error: 0.7356 - val_loss: 0.3281 - val_mean_squared_error: 0.3281 - val_mean_absolute_error: 0.4428
    Epoch 88/200
    856/856 [==============================] - 0s 147us/sample - loss: 0.8428 - mean_squared_error: 0.8428 - mean_absolute_error: 0.7247 - val_loss: 0.3386 - val_mean_squared_error: 0.3386 - val_mean_absolute_error: 0.4488
    Epoch 89/200
    856/856 [==============================] - 0s 148us/sample - loss: 0.8499 - mean_squared_error: 0.8499 - mean_absolute_error: 0.7139 - val_loss: 0.3544 - val_mean_squared_error: 0.3544 - val_mean_absolute_error: 0.4540
    Epoch 90/200
    856/856 [==============================] - 0s 147us/sample - loss: 0.8551 - mean_squared_error: 0.8551 - mean_absolute_error: 0.7257 - val_loss: 0.3364 - val_mean_squared_error: 0.3364 - val_mean_absolute_error: 0.4395
    Epoch 91/200
    856/856 [==============================] - 0s 147us/sample - loss: 0.8303 - mean_squared_error: 0.8303 - mean_absolute_error: 0.7135 - val_loss: 0.3316 - val_mean_squared_error: 0.3316 - val_mean_absolute_error: 0.4395
    Epoch 92/200
    856/856 [==============================] - 0s 141us/sample - loss: 0.8816 - mean_squared_error: 0.8816 - mean_absolute_error: 0.7322 - val_loss: 0.3319 - val_mean_squared_error: 0.3319 - val_mean_absolute_error: 0.4416
    Epoch 93/200
    856/856 [==============================] - 0s 147us/sample - loss: 0.7980 - mean_squared_error: 0.7980 - mean_absolute_error: 0.7005 - val_loss: 0.3538 - val_mean_squared_error: 0.3538 - val_mean_absolute_error: 0.4545
    Epoch 94/200
    856/856 [==============================] - 0s 148us/sample - loss: 0.8809 - mean_squared_error: 0.8809 - mean_absolute_error: 0.7244 - val_loss: 0.3503 - val_mean_squared_error: 0.3503 - val_mean_absolute_error: 0.4528
    Epoch 95/200
    856/856 [==============================] - 0s 140us/sample - loss: 0.7647 - mean_squared_error: 0.7647 - mean_absolute_error: 0.6771 - val_loss: 0.3430 - val_mean_squared_error: 0.3430 - val_mean_absolute_error: 0.4490
    Epoch 96/200
    856/856 [==============================] - 0s 147us/sample - loss: 0.8204 - mean_squared_error: 0.8204 - mean_absolute_error: 0.7058 - val_loss: 0.3502 - val_mean_squared_error: 0.3502 - val_mean_absolute_error: 0.4555
    Epoch 97/200
    856/856 [==============================] - 0s 152us/sample - loss: 0.8228 - mean_squared_error: 0.8228 - mean_absolute_error: 0.7079 - val_loss: 0.3420 - val_mean_squared_error: 0.3420 - val_mean_absolute_error: 0.4528
    Epoch 98/200
    856/856 [==============================] - 0s 171us/sample - loss: 0.7235 - mean_squared_error: 0.7235 - mean_absolute_error: 0.6641 - val_loss: 0.3368 - val_mean_squared_error: 0.3368 - val_mean_absolute_error: 0.4521
    Epoch 99/200
    856/856 [==============================] - 0s 147us/sample - loss: 0.7540 - mean_squared_error: 0.7540 - mean_absolute_error: 0.6772 - val_loss: 0.3203 - val_mean_squared_error: 0.3203 - val_mean_absolute_error: 0.4335
    Epoch 100/200
    856/856 [==============================] - 0s 136us/sample - loss: 0.7806 - mean_squared_error: 0.7806 - mean_absolute_error: 0.6954 - val_loss: 0.3295 - val_mean_squared_error: 0.3295 - val_mean_absolute_error: 0.4444
    Epoch 101/200
    856/856 [==============================] - 0s 141us/sample - loss: 0.7549 - mean_squared_error: 0.7549 - mean_absolute_error: 0.6761 - val_loss: 0.3408 - val_mean_squared_error: 0.3408 - val_mean_absolute_error: 0.4498
    Epoch 102/200
    856/856 [==============================] - 0s 146us/sample - loss: 0.8110 - mean_squared_error: 0.8110 - mean_absolute_error: 0.6964 - val_loss: 0.3438 - val_mean_squared_error: 0.3438 - val_mean_absolute_error: 0.4509
    Epoch 103/200
    856/856 [==============================] - 0s 145us/sample - loss: 0.6770 - mean_squared_error: 0.6770 - mean_absolute_error: 0.6477 - val_loss: 0.3366 - val_mean_squared_error: 0.3366 - val_mean_absolute_error: 0.4512
    Epoch 104/200
    856/856 [==============================] - 0s 148us/sample - loss: 0.7376 - mean_squared_error: 0.7376 - mean_absolute_error: 0.6692 - val_loss: 0.3405 - val_mean_squared_error: 0.3405 - val_mean_absolute_error: 0.4473
    Epoch 105/200
    856/856 [==============================] - 0s 154us/sample - loss: 0.7675 - mean_squared_error: 0.7675 - mean_absolute_error: 0.6791 - val_loss: 0.3280 - val_mean_squared_error: 0.3280 - val_mean_absolute_error: 0.4446
    Epoch 106/200
    856/856 [==============================] - 0s 150us/sample - loss: 0.7151 - mean_squared_error: 0.7151 - mean_absolute_error: 0.6583 - val_loss: 0.3569 - val_mean_squared_error: 0.3569 - val_mean_absolute_error: 0.4670
    Epoch 107/200
    856/856 [==============================] - 0s 151us/sample - loss: 0.7248 - mean_squared_error: 0.7248 - mean_absolute_error: 0.6721 - val_loss: 0.3320 - val_mean_squared_error: 0.3320 - val_mean_absolute_error: 0.4479
    Epoch 108/200
    856/856 [==============================] - 0s 147us/sample - loss: 0.7621 - mean_squared_error: 0.7621 - mean_absolute_error: 0.6828 - val_loss: 0.3273 - val_mean_squared_error: 0.3273 - val_mean_absolute_error: 0.4449
    Epoch 109/200
    856/856 [==============================] - 0s 150us/sample - loss: 0.7629 - mean_squared_error: 0.7629 - mean_absolute_error: 0.6749 - val_loss: 0.3253 - val_mean_squared_error: 0.3253 - val_mean_absolute_error: 0.4452
    Epoch 110/200
    856/856 [==============================] - 0s 152us/sample - loss: 0.7198 - mean_squared_error: 0.7198 - mean_absolute_error: 0.6570 - val_loss: 0.3193 - val_mean_squared_error: 0.3193 - val_mean_absolute_error: 0.4373
    Epoch 111/200
    856/856 [==============================] - 0s 154us/sample - loss: 0.6877 - mean_squared_error: 0.6877 - mean_absolute_error: 0.6425 - val_loss: 0.3148 - val_mean_squared_error: 0.3148 - val_mean_absolute_error: 0.4314
    Epoch 112/200
    856/856 [==============================] - 0s 147us/sample - loss: 0.6775 - mean_squared_error: 0.6775 - mean_absolute_error: 0.6426 - val_loss: 0.3536 - val_mean_squared_error: 0.3536 - val_mean_absolute_error: 0.4584
    Epoch 113/200
    856/856 [==============================] - 0s 150us/sample - loss: 0.7140 - mean_squared_error: 0.7140 - mean_absolute_error: 0.6614 - val_loss: 0.3358 - val_mean_squared_error: 0.3358 - val_mean_absolute_error: 0.4465
    Epoch 114/200
    856/856 [==============================] - 0s 151us/sample - loss: 0.6659 - mean_squared_error: 0.6659 - mean_absolute_error: 0.6387 - val_loss: 0.3237 - val_mean_squared_error: 0.3237 - val_mean_absolute_error: 0.4410
    Epoch 115/200
    856/856 [==============================] - 0s 143us/sample - loss: 0.6399 - mean_squared_error: 0.6399 - mean_absolute_error: 0.6194 - val_loss: 0.3329 - val_mean_squared_error: 0.3329 - val_mean_absolute_error: 0.4462
    Epoch 116/200
    856/856 [==============================] - 0s 147us/sample - loss: 0.6403 - mean_squared_error: 0.6403 - mean_absolute_error: 0.6342 - val_loss: 0.3203 - val_mean_squared_error: 0.3203 - val_mean_absolute_error: 0.4395
    Epoch 117/200
    856/856 [==============================] - 0s 147us/sample - loss: 0.6597 - mean_squared_error: 0.6597 - mean_absolute_error: 0.6380 - val_loss: 0.3219 - val_mean_squared_error: 0.3219 - val_mean_absolute_error: 0.4396
    Epoch 118/200
    856/856 [==============================] - 0s 141us/sample - loss: 0.6568 - mean_squared_error: 0.6568 - mean_absolute_error: 0.6446 - val_loss: 0.3294 - val_mean_squared_error: 0.3294 - val_mean_absolute_error: 0.4427
    Epoch 119/200
    856/856 [==============================] - 0s 147us/sample - loss: 0.6384 - mean_squared_error: 0.6384 - mean_absolute_error: 0.6169 - val_loss: 0.3200 - val_mean_squared_error: 0.3200 - val_mean_absolute_error: 0.4380
    Epoch 120/200
    856/856 [==============================] - 0s 153us/sample - loss: 0.6309 - mean_squared_error: 0.6309 - mean_absolute_error: 0.6151 - val_loss: 0.3304 - val_mean_squared_error: 0.3304 - val_mean_absolute_error: 0.4451
    Epoch 121/200
    856/856 [==============================] - 0s 154us/sample - loss: 0.6597 - mean_squared_error: 0.6597 - mean_absolute_error: 0.6318 - val_loss: 0.3232 - val_mean_squared_error: 0.3232 - val_mean_absolute_error: 0.4385
    Epoch 122/200
    856/856 [==============================] - 0s 145us/sample - loss: 0.6317 - mean_squared_error: 0.6317 - mean_absolute_error: 0.6208 - val_loss: 0.3242 - val_mean_squared_error: 0.3242 - val_mean_absolute_error: 0.4373
    Epoch 123/200
    856/856 [==============================] - 0s 138us/sample - loss: 0.6360 - mean_squared_error: 0.6360 - mean_absolute_error: 0.6203 - val_loss: 0.3250 - val_mean_squared_error: 0.3250 - val_mean_absolute_error: 0.4441
    Epoch 124/200
    856/856 [==============================] - 0s 154us/sample - loss: 0.6326 - mean_squared_error: 0.6326 - mean_absolute_error: 0.6236 - val_loss: 0.3130 - val_mean_squared_error: 0.3130 - val_mean_absolute_error: 0.4353
    Epoch 125/200
    856/856 [==============================] - 0s 138us/sample - loss: 0.6136 - mean_squared_error: 0.6136 - mean_absolute_error: 0.6066 - val_loss: 0.3229 - val_mean_squared_error: 0.3229 - val_mean_absolute_error: 0.4435
    Epoch 126/200
    856/856 [==============================] - 0s 140us/sample - loss: 0.6667 - mean_squared_error: 0.6667 - mean_absolute_error: 0.6395 - val_loss: 0.3245 - val_mean_squared_error: 0.3245 - val_mean_absolute_error: 0.4450
    Epoch 127/200
    856/856 [==============================] - 0s 139us/sample - loss: 0.5841 - mean_squared_error: 0.5841 - mean_absolute_error: 0.6057 - val_loss: 0.3191 - val_mean_squared_error: 0.3191 - val_mean_absolute_error: 0.4400
    Epoch 128/200
    856/856 [==============================] - 0s 146us/sample - loss: 0.6070 - mean_squared_error: 0.6070 - mean_absolute_error: 0.6041 - val_loss: 0.3261 - val_mean_squared_error: 0.3261 - val_mean_absolute_error: 0.4458
    Epoch 129/200
    856/856 [==============================] - 0s 140us/sample - loss: 0.5996 - mean_squared_error: 0.5996 - mean_absolute_error: 0.5942 - val_loss: 0.3231 - val_mean_squared_error: 0.3231 - val_mean_absolute_error: 0.4389
    Epoch 130/200
    856/856 [==============================] - 0s 140us/sample - loss: 0.6061 - mean_squared_error: 0.6061 - mean_absolute_error: 0.6027 - val_loss: 0.3209 - val_mean_squared_error: 0.3209 - val_mean_absolute_error: 0.4393
    Epoch 131/200
    856/856 [==============================] - 0s 146us/sample - loss: 0.5877 - mean_squared_error: 0.5877 - mean_absolute_error: 0.5821 - val_loss: 0.3242 - val_mean_squared_error: 0.3242 - val_mean_absolute_error: 0.4436
    Epoch 132/200
    856/856 [==============================] - 0s 141us/sample - loss: 0.5463 - mean_squared_error: 0.5463 - mean_absolute_error: 0.5751 - val_loss: 0.3211 - val_mean_squared_error: 0.3211 - val_mean_absolute_error: 0.4404
    Epoch 133/200
    856/856 [==============================] - 0s 150us/sample - loss: 0.5881 - mean_squared_error: 0.5881 - mean_absolute_error: 0.6052 - val_loss: 0.3242 - val_mean_squared_error: 0.3242 - val_mean_absolute_error: 0.4443
    Epoch 134/200
    856/856 [==============================] - 0s 152us/sample - loss: 0.6268 - mean_squared_error: 0.6268 - mean_absolute_error: 0.6166 - val_loss: 0.3271 - val_mean_squared_error: 0.3271 - val_mean_absolute_error: 0.4474
    Epoch 135/200
    856/856 [==============================] - 0s 146us/sample - loss: 0.6066 - mean_squared_error: 0.6066 - mean_absolute_error: 0.6071 - val_loss: 0.3262 - val_mean_squared_error: 0.3262 - val_mean_absolute_error: 0.4478
    Epoch 136/200
    856/856 [==============================] - 0s 153us/sample - loss: 0.5979 - mean_squared_error: 0.5979 - mean_absolute_error: 0.5967 - val_loss: 0.3221 - val_mean_squared_error: 0.3221 - val_mean_absolute_error: 0.4422
    Epoch 137/200
    856/856 [==============================] - 0s 147us/sample - loss: 0.6071 - mean_squared_error: 0.6071 - mean_absolute_error: 0.6031 - val_loss: 0.3174 - val_mean_squared_error: 0.3174 - val_mean_absolute_error: 0.4375
    Epoch 138/200
    856/856 [==============================] - 0s 186us/sample - loss: 0.5618 - mean_squared_error: 0.5618 - mean_absolute_error: 0.5875 - val_loss: 0.3279 - val_mean_squared_error: 0.3279 - val_mean_absolute_error: 0.4482
    Epoch 139/200
    856/856 [==============================] - 0s 155us/sample - loss: 0.5762 - mean_squared_error: 0.5762 - mean_absolute_error: 0.5863 - val_loss: 0.3226 - val_mean_squared_error: 0.3226 - val_mean_absolute_error: 0.4454
    Epoch 140/200
    856/856 [==============================] - 0s 158us/sample - loss: 0.5916 - mean_squared_error: 0.5916 - mean_absolute_error: 0.5942 - val_loss: 0.3268 - val_mean_squared_error: 0.3268 - val_mean_absolute_error: 0.4466
    Epoch 141/200
    856/856 [==============================] - 0s 164us/sample - loss: 0.5680 - mean_squared_error: 0.5680 - mean_absolute_error: 0.5822 - val_loss: 0.3219 - val_mean_squared_error: 0.3219 - val_mean_absolute_error: 0.4434
    Epoch 142/200
    856/856 [==============================] - 0s 157us/sample - loss: 0.5853 - mean_squared_error: 0.5853 - mean_absolute_error: 0.5854 - val_loss: 0.3294 - val_mean_squared_error: 0.3294 - val_mean_absolute_error: 0.4479
    Epoch 143/200
    856/856 [==============================] - 0s 165us/sample - loss: 0.5306 - mean_squared_error: 0.5306 - mean_absolute_error: 0.5737 - val_loss: 0.3271 - val_mean_squared_error: 0.3271 - val_mean_absolute_error: 0.4475
    Epoch 144/200
    856/856 [==============================] - 0s 133us/sample - loss: 0.5473 - mean_squared_error: 0.5473 - mean_absolute_error: 0.5699 - val_loss: 0.3250 - val_mean_squared_error: 0.3250 - val_mean_absolute_error: 0.4457
    Epoch 145/200
    856/856 [==============================] - 0s 139us/sample - loss: 0.5292 - mean_squared_error: 0.5292 - mean_absolute_error: 0.5614 - val_loss: 0.3316 - val_mean_squared_error: 0.3316 - val_mean_absolute_error: 0.4503
    Epoch 146/200
    856/856 [==============================] - 0s 143us/sample - loss: 0.5552 - mean_squared_error: 0.5552 - mean_absolute_error: 0.5764 - val_loss: 0.3223 - val_mean_squared_error: 0.3223 - val_mean_absolute_error: 0.4435
    Epoch 147/200
    856/856 [==============================] - 0s 140us/sample - loss: 0.5457 - mean_squared_error: 0.5457 - mean_absolute_error: 0.5740 - val_loss: 0.3263 - val_mean_squared_error: 0.3263 - val_mean_absolute_error: 0.4477
    Epoch 148/200
    856/856 [==============================] - 0s 146us/sample - loss: 0.5829 - mean_squared_error: 0.5829 - mean_absolute_error: 0.5819 - val_loss: 0.3327 - val_mean_squared_error: 0.3327 - val_mean_absolute_error: 0.4553
    Epoch 149/200
    856/856 [==============================] - 0s 144us/sample - loss: 0.5479 - mean_squared_error: 0.5479 - mean_absolute_error: 0.5739 - val_loss: 0.3296 - val_mean_squared_error: 0.3296 - val_mean_absolute_error: 0.4531
    Epoch 150/200
    856/856 [==============================] - 0s 143us/sample - loss: 0.5537 - mean_squared_error: 0.5537 - mean_absolute_error: 0.5743 - val_loss: 0.3269 - val_mean_squared_error: 0.3269 - val_mean_absolute_error: 0.4518
    Epoch 151/200
    856/856 [==============================] - 0s 150us/sample - loss: 0.5512 - mean_squared_error: 0.5512 - mean_absolute_error: 0.5748 - val_loss: 0.3341 - val_mean_squared_error: 0.3341 - val_mean_absolute_error: 0.4557
    Epoch 152/200
    856/856 [==============================] - 0s 139us/sample - loss: 0.5338 - mean_squared_error: 0.5338 - mean_absolute_error: 0.5586 - val_loss: 0.3259 - val_mean_squared_error: 0.3259 - val_mean_absolute_error: 0.4489
    Epoch 153/200
    856/856 [==============================] - 0s 147us/sample - loss: 0.5383 - mean_squared_error: 0.5383 - mean_absolute_error: 0.5605 - val_loss: 0.3311 - val_mean_squared_error: 0.3311 - val_mean_absolute_error: 0.4509
    Epoch 154/200
    856/856 [==============================] - 0s 146us/sample - loss: 0.5283 - mean_squared_error: 0.5283 - mean_absolute_error: 0.5565 - val_loss: 0.3250 - val_mean_squared_error: 0.3250 - val_mean_absolute_error: 0.4469
    Epoch 155/200
    856/856 [==============================] - 0s 139us/sample - loss: 0.5281 - mean_squared_error: 0.5281 - mean_absolute_error: 0.5580 - val_loss: 0.3279 - val_mean_squared_error: 0.3279 - val_mean_absolute_error: 0.4504
    Epoch 156/200
    856/856 [==============================] - 0s 148us/sample - loss: 0.5377 - mean_squared_error: 0.5377 - mean_absolute_error: 0.5606 - val_loss: 0.3364 - val_mean_squared_error: 0.3364 - val_mean_absolute_error: 0.4554
    Epoch 157/200
    856/856 [==============================] - 0s 150us/sample - loss: 0.5383 - mean_squared_error: 0.5383 - mean_absolute_error: 0.5667 - val_loss: 0.3285 - val_mean_squared_error: 0.3285 - val_mean_absolute_error: 0.4505
    Epoch 158/200
    856/856 [==============================] - 0s 140us/sample - loss: 0.5124 - mean_squared_error: 0.5124 - mean_absolute_error: 0.5587 - val_loss: 0.3320 - val_mean_squared_error: 0.3320 - val_mean_absolute_error: 0.4530
    Epoch 159/200
    856/856 [==============================] - 0s 152us/sample - loss: 0.5204 - mean_squared_error: 0.5204 - mean_absolute_error: 0.5527 - val_loss: 0.3278 - val_mean_squared_error: 0.3278 - val_mean_absolute_error: 0.4491
    Epoch 160/200
    856/856 [==============================] - 0s 147us/sample - loss: 0.5298 - mean_squared_error: 0.5298 - mean_absolute_error: 0.5601 - val_loss: 0.3388 - val_mean_squared_error: 0.3388 - val_mean_absolute_error: 0.4555
    Epoch 161/200
    856/856 [==============================] - 0s 146us/sample - loss: 0.5316 - mean_squared_error: 0.5316 - mean_absolute_error: 0.5638 - val_loss: 0.3312 - val_mean_squared_error: 0.3312 - val_mean_absolute_error: 0.4535
    Epoch 162/200
    856/856 [==============================] - 0s 148us/sample - loss: 0.5027 - mean_squared_error: 0.5027 - mean_absolute_error: 0.5552 - val_loss: 0.3309 - val_mean_squared_error: 0.3309 - val_mean_absolute_error: 0.4560
    Epoch 163/200
    856/856 [==============================] - 0s 146us/sample - loss: 0.5146 - mean_squared_error: 0.5146 - mean_absolute_error: 0.5552 - val_loss: 0.3356 - val_mean_squared_error: 0.3356 - val_mean_absolute_error: 0.4566
    Epoch 164/200
    856/856 [==============================] - 0s 148us/sample - loss: 0.4861 - mean_squared_error: 0.4861 - mean_absolute_error: 0.5410 - val_loss: 0.3261 - val_mean_squared_error: 0.3261 - val_mean_absolute_error: 0.4489
    Epoch 165/200
    856/856 [==============================] - 0s 148us/sample - loss: 0.5042 - mean_squared_error: 0.5042 - mean_absolute_error: 0.5545 - val_loss: 0.3229 - val_mean_squared_error: 0.3229 - val_mean_absolute_error: 0.4456
    Epoch 166/200
    856/856 [==============================] - 0s 144us/sample - loss: 0.4974 - mean_squared_error: 0.4974 - mean_absolute_error: 0.5408 - val_loss: 0.3250 - val_mean_squared_error: 0.3250 - val_mean_absolute_error: 0.4456
    Epoch 167/200
    856/856 [==============================] - 0s 150us/sample - loss: 0.5154 - mean_squared_error: 0.5154 - mean_absolute_error: 0.5561 - val_loss: 0.3294 - val_mean_squared_error: 0.3294 - val_mean_absolute_error: 0.4509
    Epoch 168/200
    856/856 [==============================] - 0s 141us/sample - loss: 0.5094 - mean_squared_error: 0.5094 - mean_absolute_error: 0.5485 - val_loss: 0.3292 - val_mean_squared_error: 0.3292 - val_mean_absolute_error: 0.4492
    Epoch 169/200
    856/856 [==============================] - 0s 148us/sample - loss: 0.5087 - mean_squared_error: 0.5087 - mean_absolute_error: 0.5525 - val_loss: 0.3208 - val_mean_squared_error: 0.3208 - val_mean_absolute_error: 0.4444
    Epoch 170/200
    856/856 [==============================] - 0s 148us/sample - loss: 0.4773 - mean_squared_error: 0.4773 - mean_absolute_error: 0.5372 - val_loss: 0.3235 - val_mean_squared_error: 0.3235 - val_mean_absolute_error: 0.4466
    Epoch 171/200
    856/856 [==============================] - 0s 139us/sample - loss: 0.5081 - mean_squared_error: 0.5081 - mean_absolute_error: 0.5523 - val_loss: 0.3237 - val_mean_squared_error: 0.3237 - val_mean_absolute_error: 0.4473
    Epoch 172/200
    856/856 [==============================] - 0s 144us/sample - loss: 0.4962 - mean_squared_error: 0.4962 - mean_absolute_error: 0.5371 - val_loss: 0.3306 - val_mean_squared_error: 0.3306 - val_mean_absolute_error: 0.4527
    Epoch 173/200
    856/856 [==============================] - 0s 134us/sample - loss: 0.4816 - mean_squared_error: 0.4816 - mean_absolute_error: 0.5326 - val_loss: 0.3209 - val_mean_squared_error: 0.3209 - val_mean_absolute_error: 0.4463
    Epoch 174/200
    856/856 [==============================] - 0s 141us/sample - loss: 0.4807 - mean_squared_error: 0.4807 - mean_absolute_error: 0.5304 - val_loss: 0.3274 - val_mean_squared_error: 0.3274 - val_mean_absolute_error: 0.4519
    Epoch 175/200
    856/856 [==============================] - 0s 153us/sample - loss: 0.4835 - mean_squared_error: 0.4835 - mean_absolute_error: 0.5291 - val_loss: 0.3232 - val_mean_squared_error: 0.3232 - val_mean_absolute_error: 0.4480
    Epoch 176/200
    856/856 [==============================] - 0s 147us/sample - loss: 0.5052 - mean_squared_error: 0.5052 - mean_absolute_error: 0.5466 - val_loss: 0.3252 - val_mean_squared_error: 0.3252 - val_mean_absolute_error: 0.4509
    Epoch 177/200
    856/856 [==============================] - 0s 161us/sample - loss: 0.4732 - mean_squared_error: 0.4732 - mean_absolute_error: 0.5323 - val_loss: 0.3288 - val_mean_squared_error: 0.3288 - val_mean_absolute_error: 0.4488
    Epoch 178/200
    856/856 [==============================] - 0s 165us/sample - loss: 0.4931 - mean_squared_error: 0.4931 - mean_absolute_error: 0.5426 - val_loss: 0.3282 - val_mean_squared_error: 0.3282 - val_mean_absolute_error: 0.4478
    Epoch 179/200
    856/856 [==============================] - 0s 138us/sample - loss: 0.5424 - mean_squared_error: 0.5424 - mean_absolute_error: 0.5687 - val_loss: 0.3340 - val_mean_squared_error: 0.3340 - val_mean_absolute_error: 0.4526
    Epoch 180/200
    856/856 [==============================] - 0s 147us/sample - loss: 0.4497 - mean_squared_error: 0.4497 - mean_absolute_error: 0.5239 - val_loss: 0.3255 - val_mean_squared_error: 0.3255 - val_mean_absolute_error: 0.4479
    Epoch 181/200
    856/856 [==============================] - 0s 152us/sample - loss: 0.5013 - mean_squared_error: 0.5013 - mean_absolute_error: 0.5392 - val_loss: 0.3269 - val_mean_squared_error: 0.3269 - val_mean_absolute_error: 0.4474
    Epoch 182/200
    856/856 [==============================] - 0s 153us/sample - loss: 0.4942 - mean_squared_error: 0.4942 - mean_absolute_error: 0.5399 - val_loss: 0.3253 - val_mean_squared_error: 0.3253 - val_mean_absolute_error: 0.4442
    Epoch 183/200
    856/856 [==============================] - 0s 140us/sample - loss: 0.4810 - mean_squared_error: 0.4810 - mean_absolute_error: 0.5363 - val_loss: 0.3265 - val_mean_squared_error: 0.3265 - val_mean_absolute_error: 0.4427
    Epoch 184/200
    856/856 [==============================] - 0s 139us/sample - loss: 0.4749 - mean_squared_error: 0.4749 - mean_absolute_error: 0.5322 - val_loss: 0.3238 - val_mean_squared_error: 0.3238 - val_mean_absolute_error: 0.4431
    Epoch 185/200
    856/856 [==============================] - 0s 138us/sample - loss: 0.4823 - mean_squared_error: 0.4823 - mean_absolute_error: 0.5315 - val_loss: 0.3283 - val_mean_squared_error: 0.3283 - val_mean_absolute_error: 0.4480
    Epoch 186/200
    856/856 [==============================] - 0s 139us/sample - loss: 0.4795 - mean_squared_error: 0.4795 - mean_absolute_error: 0.5388 - val_loss: 0.3346 - val_mean_squared_error: 0.3346 - val_mean_absolute_error: 0.4528
    Epoch 187/200
    856/856 [==============================] - 0s 147us/sample - loss: 0.4788 - mean_squared_error: 0.4788 - mean_absolute_error: 0.5358 - val_loss: 0.3298 - val_mean_squared_error: 0.3298 - val_mean_absolute_error: 0.4484
    Epoch 188/200
    856/856 [==============================] - 0s 140us/sample - loss: 0.4865 - mean_squared_error: 0.4865 - mean_absolute_error: 0.5375 - val_loss: 0.3324 - val_mean_squared_error: 0.3324 - val_mean_absolute_error: 0.4488
    Epoch 189/200
    856/856 [==============================] - 0s 140us/sample - loss: 0.4803 - mean_squared_error: 0.4803 - mean_absolute_error: 0.5343 - val_loss: 0.3225 - val_mean_squared_error: 0.3225 - val_mean_absolute_error: 0.4418
    Epoch 190/200
    856/856 [==============================] - 0s 150us/sample - loss: 0.4720 - mean_squared_error: 0.4720 - mean_absolute_error: 0.5299 - val_loss: 0.3241 - val_mean_squared_error: 0.3241 - val_mean_absolute_error: 0.4448
    Epoch 191/200
    856/856 [==============================] - 0s 148us/sample - loss: 0.4611 - mean_squared_error: 0.4611 - mean_absolute_error: 0.5289 - val_loss: 0.3253 - val_mean_squared_error: 0.3253 - val_mean_absolute_error: 0.4455
    Epoch 192/200
    856/856 [==============================] - 0s 147us/sample - loss: 0.4795 - mean_squared_error: 0.4795 - mean_absolute_error: 0.5296 - val_loss: 0.3297 - val_mean_squared_error: 0.3297 - val_mean_absolute_error: 0.4478
    Epoch 193/200
    856/856 [==============================] - 0s 137us/sample - loss: 0.4742 - mean_squared_error: 0.4742 - mean_absolute_error: 0.5342 - val_loss: 0.3204 - val_mean_squared_error: 0.3204 - val_mean_absolute_error: 0.4410
    Epoch 194/200
    856/856 [==============================] - 0s 146us/sample - loss: 0.4808 - mean_squared_error: 0.4808 - mean_absolute_error: 0.5291 - val_loss: 0.3218 - val_mean_squared_error: 0.3218 - val_mean_absolute_error: 0.4442
    Epoch 195/200
    856/856 [==============================] - 0s 153us/sample - loss: 0.4609 - mean_squared_error: 0.4609 - mean_absolute_error: 0.5247 - val_loss: 0.3183 - val_mean_squared_error: 0.3183 - val_mean_absolute_error: 0.4367
    Epoch 196/200
    856/856 [==============================] - 0s 150us/sample - loss: 0.4820 - mean_squared_error: 0.4820 - mean_absolute_error: 0.5351 - val_loss: 0.3202 - val_mean_squared_error: 0.3202 - val_mean_absolute_error: 0.4379
    Epoch 197/200
    856/856 [==============================] - 0s 146us/sample - loss: 0.4690 - mean_squared_error: 0.4690 - mean_absolute_error: 0.5253 - val_loss: 0.3217 - val_mean_squared_error: 0.3217 - val_mean_absolute_error: 0.4405
    Epoch 198/200
    856/856 [==============================] - 0s 152us/sample - loss: 0.4554 - mean_squared_error: 0.4554 - mean_absolute_error: 0.5197 - val_loss: 0.3288 - val_mean_squared_error: 0.3288 - val_mean_absolute_error: 0.4451
    Epoch 199/200
    856/856 [==============================] - 0s 146us/sample - loss: 0.4575 - mean_squared_error: 0.4575 - mean_absolute_error: 0.5196 - val_loss: 0.3200 - val_mean_squared_error: 0.3200 - val_mean_absolute_error: 0.4375
    Epoch 200/200
    856/856 [==============================] - 0s 148us/sample - loss: 0.4698 - mean_squared_error: 0.4698 - mean_absolute_error: 0.5225 - val_loss: 0.3203 - val_mean_squared_error: 0.3203 - val_mean_absolute_error: 0.4400
    
    In [317]:
    print(history.history.keys())
    plt.plot(history.history['loss'])
    plt.plot(history.history['val_loss'])
    plt.title('model loss')
    plt.ylabel('loss')
    plt.xlabel('epoch')
    plt.legend(['train', 'validation'], loc='upper left')
    plt.show()
    
    dict_keys(['loss', 'mean_squared_error', 'mean_absolute_error', 'val_loss', 'val_mean_squared_error', 'val_mean_absolute_error'])
    
    In [318]:
    y_pred = model1.predict(X_test)
    mean_squared_error(y_test, y_pred)
    
    Out[318]:
    0.4065575532023555

    Observations:The model above has shown some improvement in the accuracy when compared with the pca model above

    In [319]:
    model.save("ModelTrainedOnPC.h5")
    
    In [320]:
    model1.save("Model.h5")
    
    In [ ]: